diff options
-rw-r--r-- | meta/recipes-devtools/qemu/files/Qemu-Arm-versatilepb-Add-memory-size-checking.patch | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/files/pcie_better_hotplug_support.patch | 74 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu.inc | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/no-strip.patch | 15 | ||||
-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 @@ | |||
1 | The current code is broken: it does surprise removal which crashes guests. | ||
2 | |||
3 | Reimplemented 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 | |||
11 | Fixes CVE-2014-3471. | ||
12 | |||
13 | Originated-by: Marcel Apfelbaum <address@hidden> | ||
14 | Updated-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 | ||
18 | SRC_URI = "\ | 18 | SRC_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 | |||
89 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," | 88 | PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," |
90 | PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," | 89 | PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs," |
91 | PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,," | 90 | PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,," |
91 | PACKAGECONFIG[quorum] = "--enable-quorum, --disable-quorum, gnutls," | ||
92 | PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls," | 92 | PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls," |
93 | PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls," | 93 | PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls," |
94 | PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," | 94 | PACKAGECONFIG[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 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: 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 | ||
6 | SRC_URI += "file://qemu-enlarge-env-entry-size.patch \ | 6 | SRC_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 | |||
13 | SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" | 10 | SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2" |
14 | SRC_URI[md5sum] = "2790f44fd76da5de5024b4aafeb594c2" | 11 | SRC_URI[md5sum] = "6726977292b448cbc7f89998fac6983b" |
15 | SRC_URI[sha256sum] = "60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b" | 12 | SRC_URI[sha256sum] = "397e23184f4bf613589a8fe0c6542461dc2afdf17ed337e97e6fd2f31e8f8802" |
16 | 13 | ||
17 | COMPATIBLE_HOST_class-target_mips64 = "null" | 14 | COMPATIBLE_HOST_class-target_mips64 = "null" |
18 | 15 | ||