From 524ef62914294d2537f9b4f8e54f6b302152fe742971e788743e3852da0ee85f Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Sat, 11 Jan 2020 02:05:17 +0000 Subject: [PATCH 1/3] Accepting request 762952 from home:bfrogers:branches:Virtualization - Add a %bcond_without system_membarrier along with related processing to the spec file, to better investigate running QEMU with the --disable-membarrier configure option OBS-URL: https://build.opensuse.org/request/show/762952 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=522 --- README.PACKAGING | 4 ++-- qemu.changes | 7 +++++++ qemu.spec | 10 ++++++++++ qemu.spec.in | 10 ++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/README.PACKAGING b/README.PACKAGING index 260c1a0..1933e02 100644 --- a/README.PACKAGING +++ b/README.PACKAGING @@ -29,7 +29,7 @@ the latest upstream qemu. See 'LATEST' references in the scripts for details. The current status as of 31 Oct 2019 is that for this incarnation of qemu packaging, the previous workflow which relied on the patches being in a shared git repo on github or gitlab is no longer supported. This new bundle based -workflos is still a work in progress. +workflow is still a work in progress. If it isn't working right, please contact Bruce Rogers . *** END SPECIAL NOTE *** @@ -47,7 +47,7 @@ in the near future. Bug or feature tracking identifiers should also be added to the patch similarly, using the abbreviations identified here: http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines#Current_set_of_abbreviations -using the "Reference:" tag, with multiple entries comma separated. +using the "References:" tag, with multiple entries comma separated. The ability to provide a conditional inclusion of a patch (eg based on architecture, is provided by using the "Include-If:" tag similarly, as follows: diff --git a/qemu.changes b/qemu.changes index b9a8d12..c68b12e 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sat Jan 11 01:54:12 UTC 2020 - Bruce Rogers + +- Add a %bcond_without system_membarrier along with related + processing to the spec file, to better investigate running QEMU + with the --disable-membarrier configure option + ------------------------------------------------------------------- Fri Jan 10 14:12:38 UTC 2020 - Bruce Rogers diff --git a/qemu.spec b/qemu.spec index 35703e2..d323579 100644 --- a/qemu.spec +++ b/qemu.spec @@ -87,6 +87,8 @@ %define summary_string Machine emulator and virtualizer %endif +%bcond_without system_membarrier + %define qemuver 4.2.0 %define srcver 4.2.0 %define sbver 1.12.1+ @@ -1211,7 +1213,11 @@ cd %mybuilddir %endif --enable-lzo \ --disable-malloc-trim \ +%if %{with system_membarrier} --enable-membarrier \ +%else + --disable-membarrier \ +%endif --enable-mpath \ --disable-netmap \ --disable-nettle \ @@ -1300,7 +1306,11 @@ cd %mybuilddir --disable-iconv \ --disable-kvm \ --disable-malloc-trim \ +%if %{with system_membarrier} --enable-membarrier \ +%else + --disable-membarrier \ +%endif --disable-parallels \ --disable-plugins \ --disable-qcow1 \ diff --git a/qemu.spec.in b/qemu.spec.in index f8e1f59..ab6920c 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -87,6 +87,8 @@ %define summary_string Machine emulator and virtualizer %endif +%bcond_without system_membarrier + INSERT_VERSIONING %define srcname qemu Name: qemu%{name_suffix} @@ -1016,7 +1018,11 @@ cd %mybuilddir %endif --enable-lzo \ --disable-malloc-trim \ +%if %{with system_membarrier} --enable-membarrier \ +%else + --disable-membarrier \ +%endif --enable-mpath \ --disable-netmap \ --disable-nettle \ @@ -1105,7 +1111,11 @@ cd %mybuilddir --disable-iconv \ --disable-kvm \ --disable-malloc-trim \ +%if %{with system_membarrier} --enable-membarrier \ +%else + --disable-membarrier \ +%endif --disable-parallels \ --disable-plugins \ --disable-qcow1 \ From cdafe12abc35314313f3bded65e58200edcdb89d7239d3cd66b0545744f9eb92 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Tue, 14 Jan 2020 17:11:04 +0000 Subject: [PATCH 2/3] Accepting request 764366 from home:olh:branches:Virtualization - Create files within bundles.tar.xz with fixed timestamp and uid OBS-URL: https://build.opensuse.org/request/show/764366 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=524 --- qemu.changes | 5 +++++ update_git.sh | 14 ++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/qemu.changes b/qemu.changes index c68b12e..1a74265 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 14 16:14:03 UTC 2020 - ohering@suse.de + +- Create files within bundles.tar.xz with fixed timestamp and uid + ------------------------------------------------------------------- Sat Jan 11 01:54:12 UTC 2020 - Bruce Rogers diff --git a/update_git.sh b/update_git.sh index ccabfbf..b981d19 100644 --- a/update_git.sh +++ b/update_git.sh @@ -150,9 +150,14 @@ for (( i=0; i <$REPO_COUNT; i++ )); do fi fi done -# keep diffs to a minimum - touch bundle files to "something common" TODO: decide if there's something better -find $BUNDLE_DIR -exec touch -r qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz {} \; -tar --format gnu --xz -cf bundles.tar.xz -C $BUNDLE_DIR . +# keep diffs to a minimum - touch bundle files to "something common" +tar --format gnu --xz \ + --numeric-owner \ + --owner=0 \ + --group=0 \ + --mtime="@$(date -r qemu-$SOURCE_VERSION$VERSION_EXTRA.tar.xz +%s)" \ + --create \ + -f bundles.tar.xz -C $BUNDLE_DIR . rm -rf $BUNDLE_DIR rm -rf $GIT_DIR } @@ -579,9 +584,6 @@ rm -rf $BUNDLE_DIR if [ -e qemu.changes.added ]; then rm -f qemu.changes.added fi - if [[ "0" = "$(expr $CHANGED_COUNT + $DELETED_COUNT + $ADDED_COUNT)" ]]; then - osc revert bundles.tar.xz - fi echo "git patch summary" echo " unchanged: $UNCHANGED_COUNT" echo " changed: $CHANGED_COUNT" From c88c9a4dfacf3675fb9f6bd9c38beddecec93374d624de7fb58bca156cd666e6 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Tue, 14 Jan 2020 18:34:22 +0000 Subject: [PATCH 3/3] Accepting request 764410 from home:bfrogers:branches:Virtualization - Fix xenfv migration from xen host with pre-v4.0 qemu (bsc#1159755) hw-i386-disable-smbus-migration-for-xenf.patch OBS-URL: https://build.opensuse.org/request/show/764410 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=525 --- bundles.tar.xz | 4 +- ...386-disable-smbus-migration-for-xenf.patch | 38 +++++++++++++++++++ qemu.changes | 6 +++ qemu.spec | 2 + ...et-i386-Add-missed-features-to-Coope.patch | 2 +- ...et-i386-Add-new-bit-definitions-of-M.patch | 2 +- 6 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 hw-i386-disable-smbus-migration-for-xenf.patch diff --git a/bundles.tar.xz b/bundles.tar.xz index 7b2dc16..2b87585 100644 --- a/bundles.tar.xz +++ b/bundles.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b046fbeb4e300b898b61779b1b05f1c292e4f0ecedc1826298aa68f5f1440fd6 -size 64960 +oid sha256:a6556114711be59afb2bc4c87f4edbb71ab5a65f3b075c413c36b67aed707d17 +size 65560 diff --git a/hw-i386-disable-smbus-migration-for-xenf.patch b/hw-i386-disable-smbus-migration-for-xenf.patch new file mode 100644 index 0000000..ae0b501 --- /dev/null +++ b/hw-i386-disable-smbus-migration-for-xenf.patch @@ -0,0 +1,38 @@ +From: Olaf Hering +Date: Mon, 13 Jan 2020 18:45:21 +0100 +Subject: hw/i386: disable smbus migration for xenfv + +Git-commit: 0000000000000000000000000000000000000000 +References: bsc#1159755 + +With commit 7fccf2a06890e3bc3b30e29827ad3fb93fe88fea a new member +smbus_no_migration_support was added, and enabled in two places. +With commit 4ab2f2a8aabfea95cc53c64e13b3f67960b27fdf the vmstate_acpi +got new elements, which are conditionally filled. As a result, an +incoming migration expected smbus related data unless smbus migration +was disabled for a given MachineClass. + +Since commit 7fccf2a06890e3bc3b30e29827ad3fb93fe88fea forgot to handle +xenfv, live migration to receiving hosts using qemu-4.0 and later is broken. +Therefore this patch must be applied to stable-4.x as well. + +Signed-off-by: Olaf Hering +[BR: changed patch as obtained from qemu-devel mailing list to reference +xenfv, not xenpv, as Olaf indicated in followup email] +Signed-off-by: Bruce Rogers +--- + hw/i386/pc_piix.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c +index d760d3589607daf4997ea76854c4..10d4972179a0dbe40aa9eaddf37e 100644 +--- a/hw/i386/pc_piix.c ++++ b/hw/i386/pc_piix.c +@@ -1046,6 +1046,7 @@ static void xenfv_machine_options(MachineClass *m) + m->desc = "Xen Fully-virtualized PC"; + m->max_cpus = HVM_MAX_VCPUS; + m->default_machine_opts = "accel=xen"; ++ m->smbus_no_migration_support = true; + } + + DEFINE_PC_MACHINE(xenfv, "xenfv", pc_xen_hvm_init, diff --git a/qemu.changes b/qemu.changes index 1a74265..9002212 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jan 14 18:10:53 UTC 2020 - Bruce Rogers + +- Fix xenfv migration from xen host with pre-v4.0 qemu (bsc#1159755) + hw-i386-disable-smbus-migration-for-xenf.patch + ------------------------------------------------------------------- Tue Jan 14 16:14:03 UTC 2020 - ohering@suse.de diff --git a/qemu.spec b/qemu.spec index d323579..60244de 100644 --- a/qemu.spec +++ b/qemu.spec @@ -206,6 +206,7 @@ Patch00075: roms-change-cross-compiler-naming-to-be-.patch Patch00076: tests-Disable-some-block-tests-for-now.patch Patch00077: test-add-mapping-from-arch-of-i686-to-qe.patch Patch00078: roms-Makefile-enable-cross-compile-for-b.patch +Patch00079: hw-i386-disable-smbus-migration-for-xenf.patch # Patches applied in roms/seabios/: Patch01000: seabios-use-python2-explicitly-as-needed.patch Patch01001: seabios-switch-to-python3-as-needed.patch @@ -991,6 +992,7 @@ This package provides a service file for starting and stopping KSM. %patch00076 -p1 %patch00077 -p1 %patch00078 -p1 +%patch00079 -p1 %patch01000 -p1 %patch01001 -p1 %patch01002 -p1 diff --git a/target-i386-Add-missed-features-to-Coope.patch b/target-i386-Add-missed-features-to-Coope.patch index d887416..e9a3f4a 100644 --- a/target-i386-Add-missed-features-to-Coope.patch +++ b/target-i386-Add-missed-features-to-Coope.patch @@ -2,7 +2,7 @@ From: Xiaoyao Li Date: Wed, 8 Jan 2020 13:32:40 +0100 Subject: target/i386: Add missed features to Cooperlake CPU model -Git-commit: 0000000000000000000000000000000000000000 +Git-commit: 2dea9d9ca4ea7e9afe83d0b4153b21a16987e866 References: jsc#SLE-7923 It lacks VMX features and two security feature bits (disclosed recently) in diff --git a/target-i386-Add-new-bit-definitions-of-M.patch b/target-i386-Add-new-bit-definitions-of-M.patch index 878b9e6..318bfa8 100644 --- a/target-i386-Add-new-bit-definitions-of-M.patch +++ b/target-i386-Add-new-bit-definitions-of-M.patch @@ -2,7 +2,7 @@ From: Xiaoyao Li Date: Wed, 8 Jan 2020 13:32:39 +0100 Subject: target/i386: Add new bit definitions of MSR_IA32_ARCH_CAPABILITIES -Git-commit: 0000000000000000000000000000000000000000 +Git-commit: 6c997b4adb300788d61d72e2b8bc67c03a584956 References: jsc#SLE-7923 The bit 6, 7 and 8 of MSR_IA32_ARCH_CAPABILITIES are recently disclosed