Hi Julien, > On 6 May 2025, at 12:44, Julien Grall <jul...@xen.org> wrote: > > > > On 29/04/2025 16:20, Luca Fancellu wrote: >> Document the requirement needed to boot Xen on Armv8-R platforms. >> Signed-off-by: Luca Fancellu <luca.fance...@arm.com> >> --- >> v4 changes: >> - New patch >> --- >> docs/misc/arm/booting.txt | 8 ++++++++ >> 1 file changed, 8 insertions(+) >> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt >> index 21ae74837dcc..719af74f1e69 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 state is secure (S) on Arm64 and non secure (NS) on Arm32, hence >> the >> +above requirements need to be adjusted to this case: > > +> +* Xen must be entered in S EL2 mode on Arm64 and in NS EL2 mode on > > Arm32. > > I think it would be better to update the line "Xen must be entered in NS EL2 > mode" to clarify the state for 64-bit Arm. > > > +> +* Xen must be entered with MPU off and data cache disabled (SCTLR_EL2.M > > bit and >> + SCTLR_EL2.C set to 0). > > This line is valid for Armv8-A/Armv7-A when using the Image/zImage protocol. > >> [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
Just to be sure to be on the same page, are you suggesting these changes on the original file? diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt index 21ae74837dcc..c00c651805d7 100644 --- a/docs/misc/arm/booting.txt +++ b/docs/misc/arm/booting.txt @@ -58,10 +58,14 @@ Firmware/bootloader requirements Xen relies on some settings the firmware has to configure in EL3 before starting Xen. -* Xen must be entered in NS EL2 mode +* Xen must be entered in: + * Non-Secure EL2 mode for Armv8-A Arm64 and Arm32, Armv8-R Arm32. + * Secure EL2 mode for Armv8-R Arm64. * The bit SCR_EL3.HCE (resp. SCR.HCE for 32-bit ARM) must be set to 1. +* Xen must be entered with MMU/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 Cheers, Luca