Skip to contentSkip to conversation

qemu upgrade to 2.4.0-rc0

PATCH Superseded Cristian Iorga 1 participant 4 messages Jul 15, 2015

v2 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

v2 cover qemu upgrade to 2.4.0-rc0

There is a long list of issues affecting qemu 2.3.0 (current version) in combination with tests performed on YP autobuilders, situation that seriously impacts the way our project evolves and can be managed.
As such, we are proposing an upgrade to qemu 2.4.0 RC0, as much better behavior has been seen with this upgrade.

Patchset V2 adds a better commit message for "runqemu-internal: add temporary disk interface to qemuarm64" fix.

The following changes since commit ba07a69f3dc8fb798e372130bf665d059fed9d42:

dpkg: Fix for Fedora22 and new versions of tar (2015-07-13 13:47:28 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib ciorga/qemu-upg-3
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ciorga/qemu-upg-3

Cristian Iorga (3):
qemu: upgrade to 2.4.0-rc0
runqemu-internal: add temporary disk interface to qemuarm64 bitbake.conf: fix qemu user mode linux for qemuarm64

 meta/conf/bitbake.conf                             |  1 +
 meta/recipes-devtools/qemu/qemu.inc                |  3 ---
 .../qemu/qemu/larger_default_ram_size.patch        | 22 ----------------------
 .../qemu/{qemu_2.3.0.bb => qemu_2.4.0-rc0.bb}      | 15 ++-------------
 scripts/runqemu-internal                           |  2 +-
 5 files changed, 4 insertions(+), 39 deletions(-)
 delete mode 100644 meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch
 rename meta/recipes-devtools/qemu/{qemu_2.3.0.bb => qemu_2.4.0-rc0.bb} (42%)
Signature · 1 line
2.1.4
#1 lore raw

PATCH v2 1/3 qemu: upgrade to 2.4.0-rc0

- Get rid of direct use of gnutls APIs in quorum
blockdrv in favour of using the crypto APIs.
- Convert VNC websockets to use crypto APIs.
- All previous CVE are now included.
- larger_default_ram_size.patch patch removed,
no longer necessary.

---
 meta/recipes-devtools/qemu/qemu.inc                |  3 ---
 .../qemu/qemu/larger_default_ram_size.patch        | 22 ----------------------
 .../qemu/{qemu_2.3.0.bb => qemu_2.4.0-rc0.bb}      | 15 ++-------------
 3 files changed, 2 insertions(+), 38 deletions(-)
 delete mode 100644 meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch
 rename meta/recipes-devtools/qemu/{qemu_2.3.0.bb => qemu_2.4.0-rc0.bb} (42%)
meta/recipes-devtools/qemu/qemu.inc +0 -3
index d794af9..eba7d3d 100644
@@ -15,7 +15,6 @@ QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
 
 SRC_URI = "\
     file://powerpc_rom.bin \
-    file://larger_default_ram_size.patch \
     file://disable-grabs.patch \
     file://exclude-some-arm-EABI-obsolete-syscalls.patch \
     file://wacom.patch \
@@ -89,9 +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,xen,xen-libxenstore xen-libxenctrl xen-libxenguest"
-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,"
 PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg,"
 PACKAGECONFIG[vnc-png] = "--enable-vnc --enable-vnc-png,--disable-vnc-png,libpng,"
meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch deleted +0 -22
deleted file mode 100644
index 711c360..0000000
@@ -1,22 +0,0 @@
-This patch is taken from debian. 128M is too less sometimes if distro
-with lot of packages is booted so this patch raises the default to 384M
-
-It has not been applied to upstream qemu
-
-Khem Raj <[email protected]>
-
-Upstream-Status: Pending
-
-Index: qemu-0.14.0/vl.c
-===================================================================
---- qemu-0.14.0.orig/vl.c
-+++ qemu-0.14.0/vl.c
-@@ -168,7 +168,7 @@ int main(int argc, char **argv)
- //#define DEBUG_NET
- //#define DEBUG_SLIRP
- 
--#define DEFAULT_RAM_SIZE 128
-+#define DEFAULT_RAM_SIZE 384
- 
- #define MAX_VIRTIO_CONSOLES 1
- 
meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb renamed from meta/recipes-devtools/qemu/qemu_2.3.0.bb +2 -13
similarity index 42%
rename from meta/recipes-devtools/qemu/qemu_2.3.0.bb
rename to meta/recipes-devtools/qemu/qemu_2.4.0-rc0.bb
index cae0ad1..dae8b3d 100644
@@ -6,23 +6,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
 SRC_URI += "file://configure-fix-Darwin-target-detection.patch \
             file://qemu-enlarge-env-entry-size.patch \
             file://Qemu-Arm-versatilepb-Add-memory-size-checking.patch \
-            file://qemu-CVE-2015-3456.patch \
-            file://01-xen-properly-gate-host-writes-of-modified-PCI-CFG-contents-CVE-2015-4103.patch \
-            file://02-xen-dont-allow-guest-to-control-MSI-mask-register-CVE-2015-4104.patch \
-            file://03-xen-MSI-X-limit-error-messages-CVE-2015-4105.patch \
-            file://04-xen-MSI-dont-open-code-pass-through-of-enable-bit-mod-CVE-2015-4106.patch \
-            file://05-xen-pt-consolidate-PM-capability-emu_mask-CVE-2015-4106.patch \
-            file://06-xen-pt-correctly-handle-PM-status-bit-CVE-2015-4106.patch \
-            file://07-xen-pt-split-out-calculation-of-throughable-mask-CVE-2015-4106.patch \
-            file://08-xen-pt-mark-all-PCIe-capability-bits-read-only-CVE-2015-4106.patch \
-            file://09-xen-pt-mark-reserved-bits-in-PCI-config-space-fields-CVE-2015-4106.patch \
-            file://10-xen-pt-add-a-few-PCI-config-space-field-descriptions-CVE-2015-4106.patch \
-            file://11-xen-pt-unknown-PCI-config-space-fields-should-be-readonly-CVE-2015-4106.patch \
-            file://qemu-fix-CVE-2015-3209.patch \
            "
 SRC_URI_prepend = "http://wiki.qemu-project.org/download/${BP}.tar.bz2"
 SRC_URI[md5sum] = "2fab3ea4460de9b57192e5b8b311f221"
 SRC_URI[sha256sum] = "b6bab7f763d5be73e7cb5ee7d4c8365b7a8df2972c52fa5ded18893bd8281588"
+SRC_URI[md5sum] = "0c890db3811f2ad9cc7bb2a5afe08e4c"
+SRC_URI[sha256sum] = "8dda3e0f9baffbe29b524c03fd46d611afed1dfb5da1becec033beaf76a1bc6d"
 
 COMPATIBLE_HOST_class-target_mips64 = "null"
 
Signature · 1 line
2.1.4
#2 lore raw

PATCH v2 2/3 runqemu-internal: add temporary disk interface to qemuarm64

In reply to Cristian Iorga

Starting with qemu 2.4, a disk needs be attached via a specified interface, even if that interface is none. In case of qemuarm64 machine, the board is virtual, so a none interface it works correctly.

---
 scripts/runqemu-internal | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
scripts/runqemu-internal +1 -1
index 6878251..03b40d8 100755
@@ -270,7 +270,7 @@ else
         if [ "$MACHINE" = "qemuarm64" ]; then
             QEMU_NETWORK_CMD="-netdev tap,id=net0,ifname=$TAP,script=no,downscript=no -device virtio-net-device,netdev=net0 "
             DROOT="/dev/vda"
-            ROOTFS_OPTIONS="-drive id=disk0,file=$ROOTFS,format=raw -device virtio-blk-device,drive=disk0"
+            ROOTFS_OPTIONS="-drive id=disk0,file=$ROOTFS,if=none,format=raw -device virtio-blk-device,drive=disk0"
         fi
 
         KERNCMDLINE="mem=$QEMU_MEMORY"
Signature · 1 line
2.1.4
#3 lore raw

PATCH v2 3/3 bitbake.conf: fix qemu user mode linux for qemuarm64

In reply to Cristian Iorga

OLDEST_KERNEL is invalid for aarch64, it didn't exist back in our current version. Use a more recent version for aarch64 to allow user mode qemu to work correctly.

---
 meta/conf/bitbake.conf | 1 +
 1 file changed, 1 insertion(+)
meta/conf/bitbake.conf +1 -0
index ee75c9b..730ab80 100644
@@ -397,6 +397,7 @@ SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}"
 ##################################################################
 
 OLDEST_KERNEL = "2.6.32"
+OLDEST_KERNEL_aarch64 = "3.14"
 STAGING_KERNEL_DIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-source"
 STAGING_KERNEL_BUILDDIR = "${TMPDIR}/work-shared/${MACHINE}/kernel-build-artifacts"
 
Signature · 1 line
2.1.4