On Mon, Jul 01, 2024 at 10:54:54AM +0100, Steven Price wrote: > The top bit of the configured IPA size is used as an attribute to > control whether the address is protected or shared. Query the > configuration from the RMM to assertain which bit this is. > > Co-developed-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx> > Signed-off-by: Steven Price <steven.price@xxxxxxx> > --- > Changes since v2: > * Drop unneeded extra brackets from PROT_NS_SHARED. > * Drop the explicit alignment from 'config' as struct realm_config now > specifies the alignment. > --- > arch/arm64/include/asm/pgtable-prot.h | 3 +++ > arch/arm64/kernel/rsi.c | 8 ++++++++ > 2 files changed, 11 insertions(+) > > diff --git a/arch/arm64/include/asm/pgtable-prot.h b/arch/arm64/include/asm/pgtable-prot.h > index b11cfb9fdd37..6c29f3b32eba 100644 > --- a/arch/arm64/include/asm/pgtable-prot.h > +++ b/arch/arm64/include/asm/pgtable-prot.h > @@ -70,6 +70,9 @@ > #include <asm/pgtable-types.h> > > extern bool arm64_use_ng_mappings; > +extern unsigned long prot_ns_shared; > + > +#define PROT_NS_SHARED (prot_ns_shared) Since the _vast_ majority of Linux systems won't be running in a realm, can we use a static key to avoid loading a constant each time? Will