mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 17:19:20 +00:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
3b769f0395
commit
963604605c
+1
-1
@@ -32,7 +32,7 @@ index b48d84c..ad2cd5a 100644
|
||||
+ ((unsigned int)ram_size / (1 << 20)));
|
||||
+ exit(1);
|
||||
+ }
|
||||
memory_region_init_ram(ram, NULL, "versatile.ram", args->ram_size);
|
||||
memory_region_init_ram(ram, NULL, "versatile.ram", machine->ram_size);
|
||||
vmstate_register_ram_global(ram);
|
||||
/* ??? RAM should repeat to fill physical memory space. */
|
||||
--
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
The current code is broken: it does surprise removal which crashes guests.
|
||||
|
||||
Reimplemented the steps:
|
||||
- Hotplug triggers both 'present detect change' and
|
||||
'attention button pressed'.
|
||||
|
||||
- Hotunplug starts by triggering 'attention button pressed',
|
||||
then waits for the OS to power off the device and only
|
||||
then detaches it.
|
||||
|
||||
Fixes CVE-2014-3471.
|
||||
|
||||
Originated-by: Marcel Apfelbaum <address@hidden>
|
||||
Updated-by: Daniel BORNAZ <daniel.bornaz@enea.com>
|
||||
|
||||
--- a/hw/pci/pcie.c 2014-04-17 15:44:44.000000000 +0200
|
||||
+++ b/hw/pci/pcie.c 2014-07-15 13:03:16.905070562 +0200
|
||||
@@ -258,7 +258,8 @@ void pcie_cap_slot_hotplug_cb(HotplugHan
|
||||
|
||||
pci_word_test_and_set_mask(exp_cap + PCI_EXP_SLTSTA,
|
||||
PCI_EXP_SLTSTA_PDS);
|
||||
- pcie_cap_slot_event(PCI_DEVICE(hotplug_dev), PCI_EXP_HP_EV_PDC);
|
||||
+ pcie_cap_slot_event(PCI_DEVICE(hotplug_dev),
|
||||
+ PCI_EXP_HP_EV_PDC | PCI_EXP_HP_EV_ABP);
|
||||
}
|
||||
|
||||
void pcie_cap_slot_hot_unplug_cb(HotplugHandler *hotplug_dev, DeviceState *dev,
|
||||
@@ -268,10 +269,7 @@ void pcie_cap_slot_hot_unplug_cb(Hotplug
|
||||
|
||||
pcie_cap_slot_hotplug_common(PCI_DEVICE(hotplug_dev), dev, &exp_cap, errp);
|
||||
|
||||
- object_unparent(OBJECT(dev));
|
||||
- pci_word_test_and_clear_mask(exp_cap + PCI_EXP_SLTSTA,
|
||||
- PCI_EXP_SLTSTA_PDS);
|
||||
- pcie_cap_slot_event(PCI_DEVICE(hotplug_dev), PCI_EXP_HP_EV_PDC);
|
||||
+ pcie_cap_slot_push_attention_button(PCI_DEVICE(hotplug_dev));
|
||||
}
|
||||
|
||||
/* pci express slot for pci express root/downstream port
|
||||
@@ -352,6 +350,11 @@ void pcie_cap_slot_reset(PCIDevice *dev)
|
||||
hotplug_event_update_event_status(dev);
|
||||
}
|
||||
|
||||
+static void pcie_unplug_device(PCIBus *bus, PCIDevice *dev, void *opaque)
|
||||
+{
|
||||
+ object_unparent(OBJECT(dev));
|
||||
+}
|
||||
+
|
||||
void pcie_cap_slot_write_config(PCIDevice *dev,
|
||||
uint32_t addr, uint32_t val, int len)
|
||||
{
|
||||
@@ -376,6 +379,22 @@ void pcie_cap_slot_write_config(PCIDevic
|
||||
sltsta);
|
||||
}
|
||||
|
||||
+ /*
|
||||
+ * If the slot is polulated, power indicator is off and power
|
||||
+ * controller is off, it is safe to detach the devices.
|
||||
+ */
|
||||
+ if ((sltsta & PCI_EXP_SLTSTA_PDS) && (val & PCI_EXP_SLTCTL_PCC) &&
|
||||
+ ((val & PCI_EXP_SLTCTL_PIC_OFF) == PCI_EXP_SLTCTL_PIC_OFF)) {
|
||||
+ PCIBus *sec_bus = pci_bridge_get_sec_bus(PCI_BRIDGE(dev));
|
||||
+ pci_for_each_device(sec_bus, pci_bus_num(sec_bus),
|
||||
+ pcie_unplug_device, NULL);
|
||||
+
|
||||
+ pci_word_test_and_clear_mask(exp_cap + PCI_EXP_SLTSTA,
|
||||
+ PCI_EXP_SLTSTA_PDS);
|
||||
+ pci_word_test_and_set_mask(exp_cap + PCI_EXP_SLTSTA,
|
||||
+ PCI_EXP_SLTSTA_PDC);
|
||||
+ }
|
||||
+
|
||||
hotplug_event_notify(dev);
|
||||
|
||||
/*
|
||||
@@ -17,7 +17,6 @@ QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
|
||||
|
||||
SRC_URI = "\
|
||||
file://powerpc_rom.bin \
|
||||
file://no-strip.patch \
|
||||
file://larger_default_ram_size.patch \
|
||||
file://disable-grabs.patch \
|
||||
file://exclude-some-arm-EABI-obsolete-syscalls.patch \
|
||||
@@ -89,6 +88,7 @@ PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr,--disable-virtfs,libcap a
|
||||
PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio,"
|
||||
PACKAGECONFIG[xfs] = "--enable-xfsctl,--disable-xfsctl,xfsprogs,"
|
||||
PACKAGECONFIG[xen] = "--enable-xen, --disable-xen,,"
|
||||
PACKAGECONFIG[quorum] = "--enable-quorum, --disable-quorum, gnutls,"
|
||||
PACKAGECONFIG[vnc-tls] = "--enable-vnc --enable-vnc-tls,--disable-vnc-tls, gnutls,"
|
||||
PACKAGECONFIG[vnc-ws] = "--enable-vnc --enable-vnc-ws,--disable-vnc-ws, gnutls,"
|
||||
PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl,"
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Index: qemu-0.14.0/Makefile
|
||||
===================================================================
|
||||
--- qemu-0.14.0.orig/Makefile
|
||||
+++ qemu-0.14.0/Makefile
|
||||
@@ -235,7 +235,7 @@ install-sysconfig:
|
||||
install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
|
||||
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
|
||||
ifneq ($(TOOLS),)
|
||||
- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
|
||||
+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)"
|
||||
endif
|
||||
ifneq ($(BLOBS),)
|
||||
$(INSTALL_DIR) "$(DESTDIR)$(datadir)"
|
||||
@@ -5,14 +5,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
|
||||
|
||||
SRC_URI += "file://qemu-enlarge-env-entry-size.patch \
|
||||
file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
|
||||
file://pcie_better_hotplug_support.patch \
|
||||
"
|
||||
|
||||
|
||||
|
||||
SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
|
||||
SRC_URI[md5sum] = "2790f44fd76da5de5024b4aafeb594c2"
|
||||
SRC_URI[sha256sum] = "60cc1aa0cad39cec891f970bed60ca8a484f071adad4943123599ac223543a3b"
|
||||
SRC_URI[md5sum] = "6726977292b448cbc7f89998fac6983b"
|
||||
SRC_URI[sha256sum] = "397e23184f4bf613589a8fe0c6542461dc2afdf17ed337e97e6fd2f31e8f8802"
|
||||
|
||||
COMPATIBLE_HOST_class-target_mips64 = "null"
|
||||
|
||||
Reference in New Issue
Block a user