qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Pekka Enberg <penberg@iki.fi>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Cc: Christoffer Dall <christoffer.dall@linaro.org>
Subject: Re: [Qemu-devel] KVM/QEMU on Raspberry Pi 3
Date: Thu, 2 Feb 2017 14:59:40 +0000	[thread overview]
Message-ID: <fd9dbed6-2a65-24e8-2f76-f6f814cef1d5@arm.com> (raw)
In-Reply-To: <32ff6fa9-696a-f4a2-e884-3b22f91506e5@iki.fi>

[+Christoffer]

Hi Pekka,

On 02/02/17 14:44, Pekka Enberg wrote:
> Hi,
> 
> Has anyone been able to successfully run QEMU/KVM under Raspberry Pi 3?
> 
> I have installed 64-bit Fedora 24 by Gerd Hoffmann on the hardware:
> 
>    https://www.kraxel.org/blog/2016/04/fedora-on-raspberry-pi-updates/
> 
> and built a VM image using virt-builder:
> 
>    virt-builder --root-password password:root --arch aarch64 fedora-24
> 
> I also built the latest UEFI for QEMU from sources:
> 
>    https://wiki.linaro.org/LEG/UEFIforQEMU
> 
> and updated to QEMU 2.8.0 from rawhide:
> 
>    [root@fedora-rpi2 ~]# qemu-system-aarch64 -version
>    QEMU emulator version 2.8.0(qemu-2.8.0-1.fc26)
>    Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers
> 
> The VM image should be fine because I’m able to boot to it under CPU 
> emulation:
> 
> qemu-system-aarch64 \
>            -nographic \
>            -M virt \
>            -cpu cortex-a57 \
>            -smp 1 \
>            -m 512 \
>            -bios QEMU_EFI.fd \
>            -device virtio-blk-device,drive=image -drive 
> if=none,id=image,file=fedora-24.img \
>            -netdev bridge,id=hn0,br=virbr0 -device 
> virtio-net-pci,netdev=hn0,romfile= \
>            -device virtio-rng-pci
> 
> However, when I enable KVM, keyboard stops working (interrupt delivery 
> issue?) and Fedora boot process hangs at random places before reaching 
> login:

[snip]

TL;DR: as it stands now, none of the RPi{2,3} can run KVM out of the
box, as they lack a virtualization capable interrupt controller. This
means that timer interrupts cannot be reported to the core, and things
die a painful death.

The longer story: we have a set of patches somewhere on the list that do
enable the timer interrupts to be reported to userspace (QEMU), which
can then inject them into its on GIC emulation and kick the vcpu. So
far, work on this seems to have stopped (API issues? QEMU patches?)

Christoffer was about to revive the kernel patches, but we need someone
to pick up the QEMU part, and work with us and the QEMU people so that
we agree once and for all on the ABI to signal PPIs to userspace.

Once everyone is happy with the way it looks, we'll merge the patches,
and I take that the QEMU folks will do the same with their side of things.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2017-02-02 14:59 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-02 14:44 [Qemu-devel] KVM/QEMU on Raspberry Pi 3 Pekka Enberg
2017-02-02 14:59 ` Marc Zyngier [this message]
2017-02-02 15:12   ` Christoffer Dall
2017-02-02 15:50 ` Laszlo Ersek
2017-02-02 15:52   ` Ard Biesheuvel
2017-02-02 16:27     ` Peter Maydell
2017-02-02 17:48   ` Ard Biesheuvel
2017-02-02 17:57     ` Laszlo Ersek
2017-02-02 19:24     ` Pekka Enberg
2017-02-03  9:27 ` Gerd Hoffmann
2017-02-03  9:31   ` Alexander Graf

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=fd9dbed6-2a65-24e8-2f76-f6f814cef1d5@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=penberg@iki.fi \
    --cc=qemu-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).