Re: [Question] Can KVM run on Freescale IMX6 SABRE board?

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

 



2016-02-27 7:06 GMT-05:00 Christoffer Dall <christoffer.dall@xxxxxxxxxx>:
> On Fri, Feb 26, 2016 at 10:53:44AM -0500, xu mike wrote:
>> 2016-02-26 2:54 GMT-05:00 Christoffer Dall <christoffer.dall@xxxxxxxxxx>:
>> > On Thu, Feb 25, 2016 at 12:45:45PM -0500, xu mike wrote:
>> >> Hi Peter,
>> >>
>> >> 2016-02-25 10:30 GMT-05:00 Peter Maydell <peter.maydell@xxxxxxxxxx>:
>> >> >
>> >> > On 25 February 2016 at 15:17, xu mike <upennmike@xxxxxxxxx> wrote:
>> >> > > I'm a student from the University of Pennsylvania. I want to try KVM on ARM
>> >> > > boards.
>> >> > >
>> >> > > I have a Freescale IMX6 board [1] which has ARM Cortex A9 processors.
>> >> > > I'm wondering if KVM can run on the Freescale IMX6 board? or
>> >> > > Can KVM run on any ARM board with ARM Cortex A9 processors?
>> >> > >
>> >> > > I noticed at [2] that " KVM/ARM is designed specifically to work on ARM
>> >> > > processors with the virtualization extensions enabled to run unmodified
>> >> > > guest operating systems."
>> >> > > I'm wondering if this statement is still true?
>> >> >
>> >> > Yes, it is. You need a CPU with the virtualization extensions,
>> >> > and the A9 does not have them. You want (for instance) an A15
>> >> > or an A7. There are cheap A7-based development boards out there,
>> >> > for instance the CubieTruck (which is not very fast but can run
>> >> > a mainline Linux kernel and KVM so is a reasonable getting-started
>> >> > development platform).
>> >>
>> >>
>> >> Thank you very much for your quick reply!
>> >>
>> >> I'm wondering if KVM community has any plan to make KVM compatible
>> >> with Cortex A9 processors?
>> >>
>> >
>> > Not that I'm aware, no.
>> >
>> >> If someone, with linux scheduler development experiment but without
>> >> porting experiment, wants to port KVM to Cortex A9,  how hard could it
>> >> be to port KVM onto Cortex A9 processor?
>> >
>> > As Peter said, ARM is not a virtualizable architecture, so you need
>> > hardware support for virtualization to run hypervisors on an ARM system.
>> >
>> > Cortex-A9 does not have this support.
>> >
>> > You could implement something using either binary translation or
>> > paravirtualization, but neither is something we're immediately
>> > interested in accepting in mainline Linux.
>>
>> Right. I couldn't estimate how hard it will be to achieve the
>> paravirtualization/binary translation in KVM.. Probably it may involve
>> a lot of (assembly) code, since it requires to de-privilege those
>> privileged instructions. :-(
>>
>
> I don't think you'd have to write a lot of assembly code, but writing an
> in-kernel binary translator is simply beyond the scope of what KVM was
> designed for, and making a binary translator efficient and adding
> support for shadow page tables will be non-trivial.

I see... :-(

>
> If anything, but again, I stress that I would *not* accept this upstream,
> you could build something that was paravirtualized with shadow page
> table support.

Ahha, it's totally understandable...

>
>> >
>> > What is your use-case for running on A9 specifically, as opposed to a
>> > CPU with virt support?
>>
>> The reason why I have to use A9 is because A9 has the special cache
>> controller, called PL310 cache controller, which is not supported in
>> A7 or A15. I want to use the special cache controller in
>> virtualization environment. That's why I'm so addicted to A9. :-(
>> If there is some latest ARM processor that has the PL310 cache
>> controller and virtulaizaiton extension support, that will be awesome!
>> However, I'm unaware of the ideal ARM processors. :-( Do you happen to
>> know?
>>
>
> I have no idea, no.  I'm curious, why is it important for you to have a
> PL310 cache controller in a VM?
>
> Is this research or product oriented?

It's more for research. We want to see if we can control the L2 cache
resource to provide better performance for the VMs.

>
> In any case, I would give up on A9 virtualization and use a proper piece
> of hardware for virtualization on ARM.

I see.. Now I guess I may have to give up A9 for virtualizaiotn. :-(

Thank you very much for your time and help!

Best,

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