All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Fabiano Rosas <farosas@linux.ibm.com>
Cc: pbonzini@redhat.com, qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
	groug@kaod.org
Subject: Re: [PATCH] kvm: ppc: Print meaningful message on KVM_CREATE_VM failure
Date: Mon, 26 Jul 2021 12:25:20 +1000	[thread overview]
Message-ID: <YP4dEI+nJkMgbHmu@yekko> (raw)
In-Reply-To: <20210722141340.2367905-1-farosas@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 2113 bytes --]

On Thu, Jul 22, 2021 at 11:13:40AM -0300, Fabiano Rosas wrote:
> PowerPC has two KVM types (HV, PR) that translate into three kernel
> modules:
> 
> kvm.ko - common kvm code
> kvm_hv.ko - kvm running with MSR_HV=1 or MSR_HV|PR=0 in a nested guest.
> kvm_pr.ko - kvm running in usermode MSR_PR=1.
> 
> Since the two KVM types can both be running at the same time, this
> creates a situation in which it is possible for one or both of the
> modules to fail to initialize, leaving the generic one behind. This
> leads QEMU to think it can create a guest, but KVM will fail when
> calling the type-specific code:
> 
>  ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
>  qemu-kvm: failed to initialize KVM: Invalid argument
> 
> Ideally this would be solved kernel-side, but it might be a while
> until we can get rid of one of the modules. So in the meantime this
> patch tries to make this less confusing for the end user by adding a
> more elucidative message:
> 
>  ioctl(KVM_CREATE_VM) failed: 22 Invalid argument
>  PPC KVM module is not loaded. Try 'modprobe kvm_hv'.
> 
> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>

Applied to ppc-for-6.1, thanks.

> ---
>  accel/kvm/kvm-all.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index 3bd17135ce..4d9a7c7bfc 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -2397,6 +2397,12 @@ static int kvm_init(MachineState *ms)
>                      "- for kernels supporting the vm.allocate_pgste sysctl, "
>                      "whether it is enabled\n");
>          }
> +#elif TARGET_PPC
> +        if (ret == -EINVAL) {
> +            fprintf(stderr,
> +                    "PPC KVM module is not loaded. Try modprobe kvm_%s.\n",
> +                    (type == 2) ? "pr" : "hv");
> +        }
>  #endif
>          goto err;
>      }

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2021-07-26  2:44 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-22 14:13 [PATCH] kvm: ppc: Print meaningful message on KVM_CREATE_VM failure Fabiano Rosas
2021-07-26  2:25 ` David Gibson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YP4dEI+nJkMgbHmu@yekko \
    --to=david@gibson.dropbear.id.au \
    --cc=farosas@linux.ibm.com \
    --cc=groug@kaod.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.