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

Reply via email to