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);
+}