summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc2
-rw-r--r--meta/recipes-devtools/qemu/qemu/no-strip.patch15
-rw-r--r--meta/recipes-devtools/qemu/qemu_2.1.0.bb (renamed from meta/recipes-devtools/qemu/qemu_2.0.0.bb)7
5 files changed, 4 insertions, 96 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 /*
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 84330aecb0..57907ae5c8 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -17,7 +17,6 @@ QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
17 17
18SRC_URI = "\ 18SRC_URI = "\
19 file://powerpc_rom.bin \ 19 file://powerpc_rom.bin \
20 file://no-strip.patch \
21 file://larger_default_ram_size.patch \ 20 file://larger_default_ram_size.patch \
22 file://disable-grabs.patch \ 21 file://disable-grabs.patch \
23 file://exclude-some-arm-EABI-obsolete-syscalls.patch \ 22 file://exclude-some-arm-EABI-obsolete-syscalls.patch \
@@ -89,6 +88,7 @@ PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap a
89PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," 88PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
90PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," 89PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
91PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,," 90PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,,"
91PACKAGECONFIG[quorum] = "--enable-quorum, --disable-quorum, gnutls,"
92PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls," 92PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls,"
93PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls," 93PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls,"
94PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," 94PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
diff --git a/meta/recipes-devtools/qemu/qemu/no-strip.patch b/meta/recipes-devtools/qemu/qemu/no-strip.patch
deleted file mode 100644
index d6a4377cd0..0000000000
--- a/meta/recipes-devtools/qemu/qemu/no-strip.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: qemu-0.14.0/Makefile
4===================================================================
5--- qemu-0.14.0.orig/Makefile
6+++ qemu-0.14.0/Makefile
7@@ -235,7 +235,7 @@ install-sysconfig:
8 install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
9 $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
10 ifneq ($(TOOLS),)
11- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
12+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)"
13 endif
14 ifneq ($(BLOBS),)
15 $(INSTALL_DIR) "$(DESTDIR)$(datadir)"
diff --git a/meta/recipes-devtools/qemu/qemu_2.0.0.bb b/meta/recipes-devtools/qemu/qemu_2.1.0.bb
index 9a530a6fb5..abf8dfcf1c 100644
--- a/meta/recipes-devtools/qemu/qemu_2.0.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_2.1.0.bb
@@ -5,14 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
5 5
6SRC_URI += "file://qemu-enlarge-env-entry-size.patch \ 6SRC_URI += "file://qemu-enlarge-env-entry-size.patch \
7 file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \ 7 file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
8 file://pcie_better_hotplug_support.patch \
9 " 8 "
10 9
11
12
13SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" 10SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
14SRC_URI[md5sum] = "2790f44fd76da5de5024b4aafeb594c2" 11SRC_URI[md5sum] = "6726977292b448cbc7f89998fac6983b"
15SRC_URI[sha256sum] = "60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b" 12SRC_URI[sha256sum] = "397e23184f4bf613589a8fe0c6542461dc2afdf17ed337e97e6fd2f31e8f8802"
16 13
17COMPATIBLE_HOST_class-target_mips64 = "null" 14COMPATIBLE_HOST_class-target_mips64 = "null"
18 15