On Wed, Jun 07, 2017 at 03:05:53PM +0200, Andrea Bolognani wrote:
On Thu, 2017-05-18 at 14:40 +0200, Jiri Denemark wrote:
> Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
> ---
> src/cpu/cpu_ppc64.c | 8 ++++----
> .../qemuxml2argv-pseries-cpu-compat-power9.args | 24 ++++++++++++++++++++++
> .../qemuxml2argv-pseries-cpu-compat-power9.xml | 21 +++++++++++++++++++
> tests/qemuxml2argvtest.c | 7 +++++++
> tests/testutilsqemu.c | 13 +++++++++++-
> tests/testutilsqemu.h | 1 +
> 6 files changed, 69 insertions(+), 5 deletions(-)
> create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-compat-power9.args
> create mode 100644
tests/qemuxml2argvdata/qemuxml2argv-pseries-cpu-compat-power9.xml
Finally had a chance to test this. The patch itself looks okay;
however, on an actual POWER9 host, I get
qemu-kvm: can't apply global
host-powerpc64-cpu.compat=power9: Invalid compatibility
mode "power9"
and
qemu-kvm: Compatibility PVR 0x0f000004 not valid for CPU
when trying power9 and power8 compat modes respectively.
David, are these known issues in QEMU? Are they being tracked?
It's not an issue in qemu, it's an issue in the hardware.
The various bugs in DD1 silicon mean it really isn't compliant with
the 3.00 architecture (nor, quite, with the earlier ones). For that
reason we explicitly disable compatibility modes on a DD1 host.
More specifically advertising architected mode compatibility causes
the guest kernel not to turn on some vital DD1 workarounds, which
makes it break horribly.
I don't see much point in updating libvirt to cope with these
new compat modes when QEMU itself doesn't.
Try TCG, it should work there.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson