0001
0002 #ifndef _ASMS390_SET_MEMORY_H
0003 #define _ASMS390_SET_MEMORY_H
0004
0005 #include <linux/mutex.h>
0006
0007 extern struct mutex cpa_mutex;
0008
0009 #define SET_MEMORY_RO 1UL
0010 #define SET_MEMORY_RW 2UL
0011 #define SET_MEMORY_NX 4UL
0012 #define SET_MEMORY_X 8UL
0013 #define SET_MEMORY_4K 16UL
0014
0015 int __set_memory(unsigned long addr, int numpages, unsigned long flags);
0016
0017 static inline int set_memory_ro(unsigned long addr, int numpages)
0018 {
0019 return __set_memory(addr, numpages, SET_MEMORY_RO);
0020 }
0021
0022 static inline int set_memory_rw(unsigned long addr, int numpages)
0023 {
0024 return __set_memory(addr, numpages, SET_MEMORY_RW);
0025 }
0026
0027 static inline int set_memory_nx(unsigned long addr, int numpages)
0028 {
0029 return __set_memory(addr, numpages, SET_MEMORY_NX);
0030 }
0031
0032 static inline int set_memory_x(unsigned long addr, int numpages)
0033 {
0034 return __set_memory(addr, numpages, SET_MEMORY_X);
0035 }
0036
0037 static inline int set_memory_4k(unsigned long addr, int numpages)
0038 {
0039 return __set_memory(addr, numpages, SET_MEMORY_4K);
0040 }
0041
0042 #endif