Re: KVM on ARM Cortex A53 in 32-bit Mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Christoffer,

>> It should be.  You may just have to add the minimal missing definitions for a 32-bit A53 CPU support.

Okay -- I can spare my time this weekend so I'll try adding the definition in source files.

>>  GIC
I applied the patch generated by git diff of irqs-to-user-v2 HEAD to the Linux 4.10-rc5 commit
(where I believe KVM/ARM64 fixes started) to the official RPI OS kernel (raspberrypi/linux repository).

Since current latest version of the RPI kernel seems to be forked from 4.9 (and I used 4.8.16 now, 1 version behind),
some hunks are failed and manually inserted into code bases.
It compiled successfully and I believe the next step is to find the corresponding QEMU patches and apply them on your no-kvm-irqchip branch (or latest QEMU 2.8.0?).

Yasutaka

2017-03-07 4:55 GMT-05:00 Christoffer Dall <christoffer.dall@xxxxxxxxxx>:
Hi Yasutaka,

On Thu, Mar 02, 2017 at 09:57:50AM -0500, Yasutaka Tanaka wrote:
> Hello KVM/ARM community,
>
> I am now trying to execute KVM on Raspberry Pi 3 Model B (RPI3).
> Does anyone know whether KVM/ARM can run with 32-bit mode on ARM Cortex A53?

Theoretically, it should.

>
> The CPU of RPI3 is ARM Cortex A53 which can be executed in both 32-bit and
> 64-bit mode. I've managed to display /dev/kvm on 64-bit mode execution
> (i.e. with a 64-bit linux kernel) on RPI3, but I failed to do so in 32-bit
> mode.
>
> In 32-bit mode, an KVM error messages says CPU not supported. I guess the
> reason for the error message is KVM_ARM_TARGET_CORTEX_A53 is only returned
> in /arch/arm64/kvm/guest.c not under/arch/arm/kvm/guest.c.
>
> So I'm wondering whether it's possible or not.

It should be.  You may just have to add the minimal missing definitions
for a 32-bit A53 CPU support.

> What I'd like to do is to
> compare the execution speed of KVM between 32-bit and 64-bit mode. The
> second plan is to compare between KVMs of 32-bit RPI2 and 64-bit RPI3 (I
> have both), but since RPI2 spec is a little low and I'm worried that some
> numeric comparisons become unfair.

I would be careful here, since the RPI3 doesn't have the GIC and you'll
end up going to user space a lot for interrupt handling.  Especially
look out for SMP workloads in the VM which may generate a lot of IPIs
which are really going to suffer from having to go to userspace on the
host.

>
> (I was also notified by an KVM/ARM expert that since RPI doesn't have a GIC
> and I need to apply some patches)

Yes, you need the "Support userspace irqchip with arch timers" series
and corresponding QEMU patches:

http://www.spinics.net/lists/kvm/msg144685.html

Good luck.
-Christoffer



--
Yasutaka TANAKA
M.S. Candidate, Computer Science
Fu Foundation School of Engineering and Applied Science
Columbia University

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux