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
next prev parent 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 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.