[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 9a709f: piix: fix xenfv regression, add compa
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 9a709f: piix: fix xenfv regression, add compat machine xen... |
Date: |
Mon, 13 Apr 2020 07:45:26 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 9a709f06c87043856307ce824b2ba47e0fdb7621
https://github.com/qemu/qemu/commit/9a709f06c87043856307ce824b2ba47e0fdb7621
Author: Olaf Hering <address@hidden>
Date: 2020-04-11 (Sat, 11 Apr 2020)
Changed paths:
M hw/i386/pc_piix.c
M tests/qtest/device-introspect-test.c
M tests/qtest/qom-test.c
M tests/qtest/test-hmp.c
Log Message:
-----------
piix: fix xenfv regression, add compat machine xenfv-4.2
With QEMU 4.0 an incompatible change was added to pc_piix, which makes it
practical impossible to migrate domUs started with qemu2 or qemu3 to
newer qemu versions. Commit 7fccf2a06890e3bc3b30e29827ad3fb93fe88fea
added and enabled a new member "smbus_no_migration_support". In 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 first commit forgot to handle
'xenfv', domUs started with QEMU 4.x are incompatible with their QEMU
siblings.
Using other existing machine types, such as 'pc-i440fx-3.1', is not
possible because 'xenfv' creates the 'xen-platform' PCI device at
00:02.0, while all other variants to run a domU would create it at
00:04.0.
To cover both the existing and the broken case of 'xenfv' in a single
qemu binary, a new compatibility variant of 'xenfv-4.2' must be added
which targets domUs started with qemu 4.2. The existing 'xenfv' restores
compatibility of QEMU 5.x with qemu 3.1.
Host admins who started domUs with QEMU 4.x (preferrable QEMU 4.2)
have to use a wrapper script which appends '-machine xenfv-4.2' to
the device-model command line. This is only required if there is no
maintenance window which allows to temporary shutdown the domU and
restart it with a fixed device-model.
The wrapper script is as simple as this:
#!/bin/sh
exec /usr/bin/qemu-system-i386 "$@" -machine xenfv-4.2
With xl this script will be enabled with device_model_override=, see
xl.cfg(5). To live migrate a domU, adjust the existing domU.cfg and pass
it to xl migrate or xl save/restore:
xl migrate -C new-domU.cfg domU remote-host
xl save domU CheckpointFile new-domU.cfg
xl restore new-domU.cfg CheckpointFile
With libvirt this script will be enabled with the <emulator> element in
domU.xml. Use 'virsh edit' prior 'virsh migrate' to replace the existing
<emulator> element to point it to the wrapper script.
Signed-off-by: Olaf Hering <address@hidden>
Message-Id: <address@hidden>
[Adjust tests for blacklisted machine types, simplifying the one in
qom-test. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 278fb1627351218b23dd33403f08d7521643fda2
https://github.com/qemu/qemu/commit/278fb1627351218b23dd33403f08d7521643fda2
Author: Bauerchen <address@hidden>
Date: 2020-04-11 (Sat, 11 Apr 2020)
Changed paths:
M util/oslib-posix.c
Log Message:
-----------
oslib-posix: take lock before qemu_cond_broadcast
In touch_all_pages, if the mutex is not taken around qemu_cond_broadcast,
qemu_cond_broadcast may be called before all touch page threads enter
qemu_cond_wait. In this case, the touch page threads wait forever for the
main thread to wake them up, causing a deadlock.
Signed-off-by: Bauerchen <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 15e8699f009f7feeab7d9ab406bf62882958e4d9
https://github.com/qemu/qemu/commit/15e8699f009f7feeab7d9ab406bf62882958e4d9
Author: Paolo Bonzini <address@hidden>
Date: 2020-04-11 (Sat, 11 Apr 2020)
Changed paths:
A docs/devel/atomics.rst
R docs/devel/atomics.txt
M docs/devel/index.rst
Log Message:
-----------
atomics: convert to reStructuredText
No attempts to fix or update the text; these are left for the next
patch in the series.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: de99dab06f7917095586517f1ab0e6dab7a03322
https://github.com/qemu/qemu/commit/de99dab06f7917095586517f1ab0e6dab7a03322
Author: Paolo Bonzini <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
M docs/devel/atomics.rst
Log Message:
-----------
atomics: update documentation
Some of the constraints on operand sizes have been relaxed, so adjust the
documentation.
Deprecate atomic_mb_read and atomic_mb_set; it is not really possible to
use them correctly because they do not interoperate with sequentially-consistent
RMW operations.
Finally, extend the memory barrier pairing section to cover acquire and
release semantics in general, roughly based on the KVM Forum 2016 talk,
"<atomic.h> weapons".
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: fb8a9677b1cab0ea140a8206050f7c7ff99bb465
https://github.com/qemu/qemu/commit/fb8a9677b1cab0ea140a8206050f7c7ff99bb465
Author: Paolo Bonzini <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
M docs/devel/rcu.txt
Log Message:
-----------
rcu: do not mention atomic_mb_read/set in documentation
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 1148e4f4dc22f8efe3419fda4ca4f0a7369ef94a
https://github.com/qemu/qemu/commit/1148e4f4dc22f8efe3419fda4ca4f0a7369ef94a
Author: Igor Mammedov <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
M softmmu/vl.c
Log Message:
-----------
vl.c: error out if -mem-path is used together with -M memory-backend
the former is not actually used by explicit backend, so instead of
silently ignoring the option in non valid context, exit with error.
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: d489ae4ac57ebe14bde8384556cbac237ead988d
https://github.com/qemu/qemu/commit/d489ae4ac57ebe14bde8384556cbac237ead988d
Author: Alexander Duyck <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
M include/exec/memory.h
Log Message:
-----------
memory: Do not allow direct write access to rom_device regions
According to the documentation in memory.h a ROM memory region will be
backed by RAM for reads, but is supposed to go through a callback for
writes. Currently we were not checking for the existence of the rom_device
flag when determining if we could perform a direct write or not.
To correct that add a check to memory_region_is_direct so that if the
memory region has the rom_device flag set we will return false for all
checks where is_write is set.
Signed-off-by: Alexander Duyck <address@hidden>
Message-Id: <20200410034150.24738.98143.stgit@localhost.localdomain>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 267514b33ffa3f315adc26fc14d89f92e90840f5
https://github.com/qemu/qemu/commit/267514b33ffa3f315adc26fc14d89f92e90840f5
Author: Bruce Rogers <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
M util/module.c
Log Message:
-----------
module: increase dirs array size by one
With the module upgrades code change, the statically sized dirs array
can now overflow. Increase it's size by one, according to the new
maximum possible usage.
Fixes: bd83c861c0 ("modules: load modules from versioned /var/run dir")
Signed-off-by: Bruce Rogers <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: e33d61cc9aef14f21fbf16c0e3cf01d2e2965717
https://github.com/qemu/qemu/commit/e33d61cc9aef14f21fbf16c0e3cf01d2e2965717
Author: Peter Maydell <address@hidden>
Date: 2020-04-13 (Mon, 13 Apr 2020)
Changed paths:
A docs/devel/atomics.rst
R docs/devel/atomics.txt
M docs/devel/index.rst
M docs/devel/rcu.txt
M hw/i386/pc_piix.c
M include/exec/memory.h
M softmmu/vl.c
M tests/qtest/device-introspect-test.c
M tests/qtest/qom-test.c
M tests/qtest/test-hmp.c
M util/module.c
M util/oslib-posix.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
Bugfixes, and reworking of the atomics documentation.
# gpg: Signature made Mon 13 Apr 2020 07:56:22 BST
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "address@hidden"
# gpg: Good signature from "Paolo Bonzini <address@hidden>" [full]
# gpg: aka "Paolo Bonzini <address@hidden>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83
* remotes/bonzini/tags/for-upstream:
module: increase dirs array size by one
memory: Do not allow direct write access to rom_device regions
vl.c: error out if -mem-path is used together with -M memory-backend
rcu: do not mention atomic_mb_read/set in documentation
atomics: update documentation
atomics: convert to reStructuredText
oslib-posix: take lock before qemu_cond_broadcast
piix: fix xenfv regression, add compat machine xenfv-4.2
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/792cb70eb062...e33d61cc9aef
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 9a709f: piix: fix xenfv regression, add compat machine xen...,
Peter Maydell <=