From: Christoffer Dall <christoffer.dall@linaro.org>
To: xu mike <upennmike@gmail.com>
Cc: "kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>
Subject: Re: [Question] Can KVM run on Freescale IMX6 SABRE board?
Date: Sat, 27 Feb 2016 13:06:21 +0100 [thread overview]
Message-ID: <20160227120621.GA32621@cbox> (raw)
In-Reply-To: <CAPSnSYqNAYVSve8KeEkAGH3iwf1tbNntTfp5MwEAG-QSfRg8FA@mail.gmail.com>
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@linaro.org>:
> > 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@linaro.org>:
> >> >
> >> > On 25 February 2016 at 15:17, xu mike <upennmike@gmail.com> 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
next prev parent reply other threads:[~2016-02-27 11:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-25 15:17 [Question] Can KVM run on Freescale IMX6 SABRE board? xu mike
2016-02-25 15:30 ` Peter Maydell
2016-02-25 17:45 ` xu mike
2016-02-26 7:54 ` Christoffer Dall
2016-02-26 15:53 ` xu mike
2016-02-27 12:06 ` Christoffer Dall [this message]
2016-02-27 17:19 ` xu mike
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=20160227120621.GA32621@cbox \
--to=christoffer.dall@linaro.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=upennmike@gmail.com \
/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.