mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 23:06:40 +07:00
powerpc: helper function to read, write AMR, IAMR, UAMOR registers
Implements helper functions to read and write the key related registers; AMR, IAMR, UAMOR. AMR register tracks the read,write permission of a key IAMR register tracks the execute permission of a key UAMOR register enables and disables a key Acked-by: Balbir Singh <bsingharora@gmail.com> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com> Signed-off-by: Ram Pai <linuxram@us.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
4fb158f65a
commit
1b4037dead
@ -67,3 +67,39 @@ void pkey_mm_init(struct mm_struct *mm)
|
||||
return;
|
||||
mm_pkey_allocation_map(mm) = initial_allocation_mask;
|
||||
}
|
||||
|
||||
static inline u64 read_amr(void)
|
||||
{
|
||||
return mfspr(SPRN_AMR);
|
||||
}
|
||||
|
||||
static inline void write_amr(u64 value)
|
||||
{
|
||||
mtspr(SPRN_AMR, value);
|
||||
}
|
||||
|
||||
static inline u64 read_iamr(void)
|
||||
{
|
||||
if (!likely(pkey_execute_disable_supported))
|
||||
return 0x0UL;
|
||||
|
||||
return mfspr(SPRN_IAMR);
|
||||
}
|
||||
|
||||
static inline void write_iamr(u64 value)
|
||||
{
|
||||
if (!likely(pkey_execute_disable_supported))
|
||||
return;
|
||||
|
||||
mtspr(SPRN_IAMR, value);
|
||||
}
|
||||
|
||||
static inline u64 read_uamor(void)
|
||||
{
|
||||
return mfspr(SPRN_UAMOR);
|
||||
}
|
||||
|
||||
static inline void write_uamor(u64 value)
|
||||
{
|
||||
mtspr(SPRN_UAMOR, value);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user