summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/files
diff options
context:
space:
mode:
authorCristian Iorga <cristian.iorga@intel.com>2014-08-06 10:43:25 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-11 10:53:08 +0100
commit963604605c0eff8c5b6ca6614b6c5fba8ae4dd15 (patch)
treec633b6ffcd7c3cf308a3a5c8596adc7220152aee /meta/recipes-devtools/qemu/files
parent3b769f03959ccb991391fe0451aa2cc4a4a95a70 (diff)
downloadpoky-963604605c0eff8c5b6ca6614b6c5fba8ae4dd15.tar.gz
qemu: upgrade to 2.1
QEMU 2.1 comes with fixes and improvements. See http://wiki.qemu.org/ChangeLog/2.1 for details. - Added config for quorum support, depending on gnutls. - pcie_better_hotplug_support.patch removed, integrated upstream. - Qemu-Arm-versatilepb-Add-memory-size-checking.patch updated to 2.1 source code. - no-strip.patch removed, no longer necessary due to code changes. (From OE-Core rev: 3ae32d0d6c7cf8294300f32d346da36748e05f3d) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu/files')
-rw-r--r--meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch2
-rw-r--r--meta/recipes-devtools/qemu/files/pcie_better_hotplug_support.patch74
2 files changed, 1 insertions, 75 deletions
diff --git a/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch b/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch
index 3834aed6d0..7f1c5a9058 100644
--- a/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch
+++ b/meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch
@@ -32,7 +32,7 @@ index b48d84c..ad2cd5a 100644
32+ ((unsigned int)ram_size / (1 << 20))); 32+ ((unsigned int)ram_size / (1 << 20)));
33+ exit(1); 33+ exit(1);
34+ } 34+ }
35 memory_region_init_ram(ram, NULL, "versatile.ram", args->ram_size); 35 memory_region_init_ram(ram, NULL, "versatile.ram", machine->ram_size);
36 vmstate_register_ram_global(ram); 36 vmstate_register_ram_global(ram);
37 /* ??? RAM should repeat to fill physical memory space. */ 37 /* ??? RAM should repeat to fill physical memory space. */
38-- 38--
diff --git a/meta/recipes-devtools/qemu/files/pcie_better_hotplug_support.patch b/meta/recipes-devtools/qemu/files/pcie_better_hotplug_support.patch
deleted file mode 100644
index c7035b2bf7..0000000000
--- a/meta/recipes-devtools/qemu/files/pcie_better_hotplug_support.patch
+++ /dev/null
@@ -1,74 +0,0 @@
1The current code is broken: it does surprise removal which crashes guests.
2
3Reimplemented the steps:
4 - Hotplug triggers both 'present detect change' and
5 'attention button pressed'.
6
7 - Hotunplug starts by triggering 'attention button pressed',
8 then waits for the OS to power off the device and only
9 then detaches it.
10
11Fixes CVE-2014-3471.
12
13Originated-by: Marcel Apfelbaum <address@hidden>
14Updated-by: Daniel BORNAZ <daniel.bornaz@enea.com>
15
16--- a/hw/pci/pcie.c 2014-04-17 15:44:44.000000000 +0200
17+++ b/hw/pci/pcie.c 2014-07-15 13:03:16.905070562 +0200
18@@ -258,7 +258,8 @@ void pcie_cap_slot_hotplug_cb(HotplugHan
19
20 pci_word_test_and_set_mask(exp_cap + PCI_EXP_SLTSTA,
21 PCI_EXP_SLTSTA_PDS);
22- pcie_cap_slot_event(PCI_DEVICE(hotplug_dev), PCI_EXP_HP_EV_PDC);
23+ pcie_cap_slot_event(PCI_DEVICE(hotplug_dev),
24+ PCI_EXP_HP_EV_PDC | PCI_EXP_HP_EV_ABP);
25 }
26
27 void pcie_cap_slot_hot_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev,
28@@ -268,10 +269,7 @@ void pcie_cap_slot_hot_unplug_cb(Hotplug
29
30 pcie_cap_slot_hotplug_common(PCI_DEVICE(hotplug_dev), dev, &exp_cap, errp);
31
32- object_unparent(OBJECT(dev));
33- pci_word_test_and_clear_mask(exp_cap + PCI_EXP_SLTSTA,
34- PCI_EXP_SLTSTA_PDS);
35- pcie_cap_slot_event(PCI_DEVICE(hotplug_dev), PCI_EXP_HP_EV_PDC);
36+ pcie_cap_slot_push_attention_button(PCI_DEVICE(hotplug_dev));
37 }
38
39 /* pci express slot for pci express root/downstream port
40@@ -352,6 +350,11 @@ void pcie_cap_slot_reset(PCIDevice *dev)
41 hotplug_event_update_event_status(dev);
42 }
43
44+static void pcie_unplug_device(PCIBus *bus, PCIDevice *dev, void *opaque)
45+{
46+ object_unparent(OBJECT(dev));
47+}
48+
49 void pcie_cap_slot_write_config(PCIDevice *dev,
50 uint32_t addr, uint32_t val, int len)
51 {
52@@ -376,6 +379,22 @@ void pcie_cap_slot_write_config(PCIDevic
53 sltsta);
54 }
55
56+ /*
57+ * If the slot is polulated, power indicator is off and power
58+ * controller is off, it is safe to detach the devices.
59+ */
60+ if ((sltsta & PCI_EXP_SLTSTA_PDS) && (val & PCI_EXP_SLTCTL_PCC) &&
61+ ((val & PCI_EXP_SLTCTL_PIC_OFF) == PCI_EXP_SLTCTL_PIC_OFF)) {
62+ PCIBus *sec_bus = pci_bridge_get_sec_bus(PCI_BRIDGE(dev));
63+ pci_for_each_device(sec_bus, pci_bus_num(sec_bus),
64+ pcie_unplug_device, NULL);
65+
66+ pci_word_test_and_clear_mask(exp_cap + PCI_EXP_SLTSTA,
67+ PCI_EXP_SLTSTA_PDS);
68+ pci_word_test_and_set_mask(exp_cap + PCI_EXP_SLTSTA,
69+ PCI_EXP_SLTSTA_PDC);
70+ }
71+
72 hotplug_event_notify(dev);
73
74 /*