1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASMS390_SET_MEMORY_H
3 #define _ASMS390_SET_MEMORY_H
4
5 #define SET_MEMORY_RO 1UL
6 #define SET_MEMORY_RW 2UL
7 #define SET_MEMORY_NX 4UL
8 #define SET_MEMORY_X 8UL
9
10 int __set_memory(unsigned long addr, int numpages, unsigned long flags);
11
set_memory_ro(unsigned long addr,int numpages)12 static inline int set_memory_ro(unsigned long addr, int numpages)
13 {
14 return __set_memory(addr, numpages, SET_MEMORY_RO);
15 }
16
set_memory_rw(unsigned long addr,int numpages)17 static inline int set_memory_rw(unsigned long addr, int numpages)
18 {
19 return __set_memory(addr, numpages, SET_MEMORY_RW);
20 }
21
set_memory_nx(unsigned long addr,int numpages)22 static inline int set_memory_nx(unsigned long addr, int numpages)
23 {
24 return __set_memory(addr, numpages, SET_MEMORY_NX);
25 }
26
set_memory_x(unsigned long addr,int numpages)27 static inline int set_memory_x(unsigned long addr, int numpages)
28 {
29 return __set_memory(addr, numpages, SET_MEMORY_X);
30 }
31
32 #endif
33