Hi all, > diff --git a/xen/arch/arm/include/asm/mpu/regions.inc > b/xen/arch/arm/include/asm/mpu/regions.inc > index 47868a152662..dc0306f8c5fc 100644 > --- a/xen/arch/arm/include/asm/mpu/regions.inc > +++ b/xen/arch/arm/include/asm/mpu/regions.inc > @@ -1,22 +1,50 @@ > /* SPDX-License-Identifier: GPL-2.0-only */ > > +#include <asm/bitmap-op.inc> > #include <asm/mpu.h> > #include <asm/sysregs.h> > > /* Backgroud region enable/disable */ > #define SCTLR_ELx_BR BIT(17, UL) > > +#define REGION_DISABLED_PRLAR 0x00 /* NS=0 ATTR=000 EN=0 */ > #define REGION_NORMAL_PRLAR 0x0f /* NS=0 ATTR=111 EN=1 */ > #define REGION_DEVICE_PRLAR 0x09 /* NS=0 ATTR=100 EN=1 */ > > +#define PRLAR_ELx_EN 0x1 > + > +#ifdef CONFIG_ARM_64 > +#define XEN_MPUMAP_ENTRY_SHIFT 0x4 /* 16 byte structure */ > + > +.macro store_pair reg1, reg2, dst > + stp \reg1, \reg2, [\dst] > +.endm > + > +.macro invalidate_dcache_one reg > + dc ivac, \reg > +.endm > + > +#else > +#define XEN_MPUMAP_ENTRY_SHIFT 0x2 /* 8 byte structure */
This should be 0x3, my mistake! Cheers, Luca