Hi all, I’ve started this thread to talk about a possible Xen booting protocol when running on Armv8-R, currently Xen uses the Linux boot protocol and some other requirements stated in docs/misc/arm/booting.txt.
Unfortunately we don’t have anything already available for Armv8-R, the only implementation of a bootloader is the boot-wrapper-aarch64 which keeps the MPU off, I/D cache off. So my proposal is to add additional requirements in our docs/misc/arm/booting.txt for the case where Xen is started on Armv8-R, under "Firmware/bootloader requirements”. diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt index 21ae74837dcc..39f029153e38 100644 --- a/docs/misc/arm/booting.txt +++ b/docs/misc/arm/booting.txt @@ -62,6 +62,14 @@ Xen relies on some settings the firmware has to configure in EL3 before starting * The bit SCR_EL3.HCE (resp. SCR.HCE for 32-bit ARM) must be set to 1. +When Xen runs on Armv8-R, the highest exception level is EL2 and the only +available mode is secure, hence the above requirements needs to be adjusted to +this case: + +* Xen must be entered in S EL2 mode. + +* Xen must be entered with MPU off and data cache disabled (SCTLR_EL2.M bit and + SCTLR_EL2.C set to 0). [1] linux/Documentation/arm/booting.rst Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arch/arm/booting.rst Please let me know your thoughts. Cheers, Luca