Linux KVM/arm64 development list
 help / color / mirror / Atom feed
From: Christoffer Dall <cdall@linaro.org>
To: "Yasutaka, T" <skyfly0008@gmail.com>
Cc: Yasutaka Tanaka <yt2558@columbia.edu>, kvmarm@lists.cs.columbia.edu
Subject: Re: KVM on ARM Cortex A53 in 32-bit Mode
Date: Thu, 16 Mar 2017 10:38:49 +0100	[thread overview]
Message-ID: <20170316093849.GT1277@cbox> (raw)
In-Reply-To: <CAO=Ss3XeBW17XfXroKsS-KbHcJV1E7c8gDBP+CnhyNYDMpeXsg@mail.gmail.com>

On Wed, Mar 15, 2017 at 07:50:36PM -0400, Yasutaka, T wrote:
> Hi Christopher and other KVM/ARM community members,
> 
> I tried the following QEMU and Kernel combinations on Raspberry Pi 3
> (AArch64 mode) but failed:
> 
> Latest commit of Alexander Graf's no-kvm-irqchip QEMU branch:
> https://github.com/agraf/qemu/tree/no-kvm-irqchip
> 
> raspberrypi/linux's rpi-4.10.y branch (forked from Linux 4.10-rc8?) latest
> commit bb0ff9d059c67e1611c7422f7982a6a4876efe67
> patched by $(git diff (linux 4.10-rc5 commit
> 7a308bb3016f57e5be11a677d15b821536419d36) (Christpher's irqs-to-user-v2
> latest commit d0a7cc725535df1b9cc64b442d246c20a9edb904) )
> 
> and got the following error:
> 
> pi@raspberrypi:~/os/graf/no-kvm-irqchip/aarch64-softmmu $
> qemu-system-aarch64 --enable-kvm -M virt
> "kvm" accelerator not found.
> No accelerator found!

You'd need "-machine virt,kernel_irqchip=off" to use the userspace GIC
emulation.  Perhaps QEMU's error message for trying to initialize the
in-kernel GIC is just weird.

> 
> pi@raspberrypi:~/os/graf/no-kvm-irqchip/aarch64-softmmu $ lkvm run test
>   # lkvm run -k test -m 448 -c 4 --name guest-1605
>   Error: Unsupported KVM extension detected: KVM_CAP_IRQCHIP
>   Fatal: Failed to create virtual GIC

I don't think kvmtool supports running on a system that doesn't have
in-kernel GIC support.

> 
> 
> which seems strange for me because dmesg shows kernel is 4.10.2-v8+ and
> Boot CPU is AArach64, all CPUs are initialized in HYP mode and /dev/kvm
> exists. So I thought GIC emulation is also enabled, or should I need to
> enable other config flags or do settings?

The RPI3 doesn't have a GIC, so you'll never get KVM emulation of the
GIC with that board.  Ever.  That's why you want the irqchip in
userspace patches.

> Or, is this way of applying patch
> wrong? Current config.gz is:
> https://gist.github.com/caprice-j/d6e144cb8727df813a4fbe716beac3cb
> 
> My other concerns are no kvm-ok command is available and /proc/cpuinfo does
> not show flags for virtualization support (I believe RPI3's cortex A53
> (ARMv8) has builtin virt support and does not show the support flag
> explicitly in /proc/cpuinfo ... but I'm unsure that is true)

If you have /dev/kvm then KVM as such is running on your system, no need
to worry further, just fix your setup to emulate the GIC in userspace.

Thanks,
-Christoffer

  reply	other threads:[~2017-03-16  9:37 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-02 14:57 KVM on ARM Cortex A53 in 32-bit Mode Yasutaka Tanaka
2017-03-07  9:55 ` Christoffer Dall
2017-03-08 17:41   ` Yasutaka, T
2017-03-15 23:50   ` Yasutaka, T
2017-03-16  9:38     ` Christoffer Dall [this message]
2017-03-17  5:09       ` Yasutaka, T
2017-03-17  8:52         ` Christoffer Dall

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=20170316093849.GT1277@cbox \
    --to=cdall@linaro.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=skyfly0008@gmail.com \
    --cc=yt2558@columbia.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox