From: Ian Campbell <ijc@hellion.org.uk>
To: u-boot@lists.denx.de
Subject: [U-Boot] ARMv8: Use U-Boot to boot Xen?
Date: Fri, 29 Jan 2016 16:23:19 +0000 [thread overview]
Message-ID: <1454084599.28781.31.camel@hellion.org.uk> (raw)
In-Reply-To: <56AB8B45.5070801@gmail.com>
On Fri, 2016-01-29 at 16:54 +0100, Dirk Behme wrote:
> On 29.01.2016 10:18, Ian Campbell wrote:
> > On Fri, 2016-01-29 at 12:04 +0800, Peng Fan wrote:
> > > Hi Dirk,
> > >
> > > Cc Ian xen experts.
> > >
> > > On Thu, Jan 28, 2016 at 08:06:30PM +0100, Dirk Behme wrote:
> > > > Hi,
> > > >
> > > > are there any U-Boot examples/patches to boot Xen on an
> > > > ARMv8/aarch64
> > > > system?
> > > >
> > > > I've found
> > > >
> > > > http://lists.denx.de/pipermail/u-boot/2015-October/230077.html
> > > >
> > > > what might be helpful.
> > > >
> > > > But maybe I missed anything else?
> > >
> > > I guess you are asking steps how to boot xen using uboot?
> > >
> > > You may need to take this:
> > > http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions
> >
> > Indeed.
> >
> > In addition one AArch64 system which uses u-boot and which has concrete
> > instructions is the APM X-Gene/Mustang:
> > ?????http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/AP
> > MXGeneMustang
> > which would likely be helpful.
>
>
> Yes, that page is very helpful, thanks!
>
> But I think it misses one information, or most probably the
> configuration on that board is different. Above page just do a 'run
> xen_run' which in the end does the necessary tftp loading and finally
> the bootm to start Xen.
>
> So I'd assume that on that board U-Boot runs at EL3 or EL2 (?).
>
> In my environment, U-Boot runs at EL1. I.e. after loading Xen by tftp
> I somehow need to switch to EL2 to be able to start Xen.
Once you are in EL1 you cannot get back to EL2 (or EL3) without support
from a lower level firmware running in those exception levels. If you have
no such underlying firmware then you should arrange for u-boot to run at
EL3.
>
> And this is what I think I miss. How to switch from U-Boot running at
> EL1 to hypervisor mode EL2? Therefore I'd think that
>
> http://lists.denx.de/pipermail/u-boot/2015-October/230077.html
You need to arrange for U-boot to run in EL3 and enter the "kernel" (Xen in
this case) in NS EL2. This likely means implementing the PSCI interface for
the kernel to use to manage CPUs.
If you were running on a 32-bit system I would direct you towards the
CONFIG_ARMV7_PSCI, CONFIG_ARMV7_NONSEC and ARMV7_VIRT u-boot options (which
in turn would require your platform code to provide some support). I'm not
sure what the equivalent for 64-bit is, sorry.
The link you post is, AFAICT, about the other end i.e. allowing u-boot to
talk to an existing secure world firmware beneath it.
Ian.
prev parent reply other threads:[~2016-01-29 16:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-28 19:06 [U-Boot] ARMv8: Use U-Boot to boot Xen? Dirk Behme
2016-01-29 0:29 ` Simon Glass
2016-01-29 4:04 ` Peng Fan
2016-01-29 9:18 ` Ian Campbell
2016-01-29 15:54 ` Dirk Behme
2016-01-29 16:23 ` Ian Campbell [this message]
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=1454084599.28781.31.camel@hellion.org.uk \
--to=ijc@hellion.org.uk \
--cc=u-boot@lists.denx.de \
/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