Hi Ayan, While I rebased the branch on top of your patches, I saw you’ve changed the number of regions mapped at boot time, can I ask why?
Compared to https://patchwork.kernel.org/project/xen-devel/patch/20230626033443.2943270-25-penny.zh...@arm.com/: > +FUNC(enable_boot_cpu_mm) > + > + /* Get the number of regions specified in MPUIR_EL2 */ > + mrs x5, MPUIR_EL2 > + > + /* x0: region sel */ > + mov x0, xzr > + /* Xen text section. */ > + ldr x1, =_stext > + ldr x2, =_etext > + prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR > + > + /* Xen read-only data section. */ > + ldr x1, =_srodata > + ldr x2, =_erodata > + prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_RO_PRBAR > + > + /* Xen read-only after init and data section. (RW data) */ > + ldr x1, =__ro_after_init_start > + ldr x2, =__init_begin > + prepare_xen_region x0, x1, x2, x3, x4, x5 ^— this, for example, will block Xen to call init_done(void) later, I understand this is earlyboot, but I guess we don’t want to make subsequent changes to this part when introducing the patches to support start_xen() > + > + /* Xen code section. */ > + ldr x1, =__init_begin > + ldr x2, =__init_data_begin > + prepare_xen_region x0, x1, x2, x3, x4, x5, attr_prbar=REGION_TEXT_PRBAR > + > + /* Xen data and BSS section. */ > + ldr x1, =__init_data_begin > + ldr x2, =__bss_end > + prepare_xen_region x0, x1, x2, x3, x4, x5 > + > + ret > + > +END(enable_boot_cpu_mm) I suggest to keep exactly the regions as are in Penny’s patch. Cheers, Luca