On Tue, Nov 30, 2021 at 10:31:52AM -0300, Daniel Henrique Barboza wrote:
> If one tries to use -machine powernv9,accel=kvm in a Power9 host, a
> cryptic error will be shown:
>
> qemu-system-ppc64: Register sync failed... If you're using kvm-hv.ko, only
> "-cpu host" is possible
> qemu-system-ppc64: kvm_init_vcpu: kvm_arch_init_vcpu failed (0): Invalid
> argument
>
> Appending '-cpu host' will throw another error:
>
> qemu-system-ppc64: invalid chip model 'host' for powernv9 machine
>
> The root cause is that in IBM PowerPC we have different specs for the
> bare-metal
> and the guests. The bare-metal follows OPAL, the guests follow PAPR. The
> kernel
> KVM modules presented in the ppc kernels implements PAPR. This means that we
> can't use KVM accel when using the powernv machine, which is the emulation of
> the bare-metal host.
>
> All that said, let's give a more informative error in this case.
>
> Signed-off-by: Daniel Henrique Barboza
Reviewed-by: David Gibson
> ---
> hw/ppc/pnv.c | 5 +
> 1 file changed, 5 insertions(+)
>
> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> index 71e45515f1..e5b87e8730 100644
> --- a/hw/ppc/pnv.c
> +++ b/hw/ppc/pnv.c
> @@ -742,6 +742,11 @@ static void pnv_init(MachineState *machine)
> DriveInfo *pnor = drive_get(IF_MTD, 0, 0);
> DeviceState *dev;
>
> +if (kvm_enabled()) {
> +error_report("The powernv machine does not work with KVM
> acceleration");
> +exit(EXIT_FAILURE);
> +}
> +
> /* allocate RAM */
> if (machine->ram_size < mc->default_ram_size) {
> char *sz = size_to_str(mc->default_ram_size);
--
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
signature.asc
Description: PGP signature