Skip to contentSkip to conversation

ARMv8: Use U-Boot to boot Xen?

U-Boot Dirk Behme 4 participants 6 messages Jan 28, 2016 – Jan 29, 2016

lore
Share & tools
lore
#1 lore raw

Hi Dirk,

Quoted 5 lines · Dirk Behme

Hi,

are there any U-Boot examples/patches to boot Xen on an ARMv8/aarch64 system?

Quoted 7 lines

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'm aware of these:

http://lists.denx.de/pipermail/u-boot/2015-April/211789.html

http://events.linuxfoundation.org/sites/events/files/slides/U-Boot%20FIT%20for%20Xen.pdf

Quoted 8 lines

Many thanks

Dirk
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Regards,
Simon

#2 lore raw
In reply to Dirk Behme

Hi Dirk,

Cc Ian xen experts.

Quoted 11 lines · Dirk Behme

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

Regards,
Peng.

Quoted 8 lines

Many thanks

Dirk
_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#3 lore raw
Quoted 14 lines · Peng Fan

Hi Dirk,

Cc Ian xen experts.

Quoted 9 lines · Dirk Behme

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

Quoted 8 lines
Quoted 3 lines

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/APMXGeneMustang
which would likely be helpful. There are other ARMv7 systems linked from the main page which would have other examples, but for 32-bit.

Ian.

author
#4 lore raw
Quoted 24 lines · Ian Campbell
Quoted 14 lines · Peng Fan

Hi Dirk,

Cc Ian xen experts.

Quoted 9 lines · Dirk Behme

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

Quoted 8 lines
Quoted 3 lines

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

Quoted 6 lines

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/APMXGeneMustang
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.

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

might be helpful.

Best regards

Dirk

#5 lore raw
Quoted 42 lines · Dirk Behme
Quoted 25 lines · Ian Campbell
Quoted 15 lines · Peng Fan

Hi Dirk,

Cc Ian xen experts.

Quoted 10 lines · Dirk Behme

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

Quoted 8 lines
Quoted 3 lines

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

Quoted 7 lines

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.

Quoted 4 lines

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.

Quoted 5 lines

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.