
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@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