Hi Ayan, > On 15 Apr 2025, at 14:06, Ayan Kumar Halder <ayank...@amd.com> wrote: > > > On 15/04/2025 13:10, Luca Fancellu wrote: >> Hi all, > Hi Luca, >> >> 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”. > This makes sense. >> >> 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. > > Refer ARM DDI 0568A.c ID110520 A1.3.1 > > Armv8-R (AArch32) only supports a single Security state, Non-secure. > > I see that it differs from Armv8-R (AArch64) ARM DDI 0600A.d ID120821, A1.3 > > The PE is always in Secure state. > > Probably you can mention both.
ok, then it should be S/NS EL2. > >> + >> +* 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. > > A question, Do you know if u-boot (or any other bootloader) is supported on > Armv8-R ? Because someone needs to pass the DTB address in r2/x0. As far as I know, no other boot loader is supported, we had patches for u-boot enabling MPU at EL2 but they were not merged. I’m currently building Xen with the device tree embedded. Cheers, Luca