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

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

 



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.

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.

> >
> > 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?

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

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