1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_SET_MEMORY_H
3 #define _ASM_POWERPC_SET_MEMORY_H
5 #define SET_MEMORY_RO 0
6 #define SET_MEMORY_RW 1
7 #define SET_MEMORY_NX 2
9 #define SET_MEMORY_NP 4 /* Set memory non present */
10 #define SET_MEMORY_P 5 /* Set memory present */
11 #define SET_MEMORY_ROX 6
13 int change_memory_attr(unsigned long addr
, int numpages
, long action
);
15 static inline int __must_check
set_memory_ro(unsigned long addr
, int numpages
)
17 return change_memory_attr(addr
, numpages
, SET_MEMORY_RO
);
20 static inline int __must_check
set_memory_rw(unsigned long addr
, int numpages
)
22 return change_memory_attr(addr
, numpages
, SET_MEMORY_RW
);
25 static inline int __must_check
set_memory_nx(unsigned long addr
, int numpages
)
27 return change_memory_attr(addr
, numpages
, SET_MEMORY_NX
);
30 static inline int __must_check
set_memory_x(unsigned long addr
, int numpages
)
32 return change_memory_attr(addr
, numpages
, SET_MEMORY_X
);
35 static inline int __must_check
set_memory_np(unsigned long addr
, int numpages
)
37 return change_memory_attr(addr
, numpages
, SET_MEMORY_NP
);
40 static inline int __must_check
set_memory_p(unsigned long addr
, int numpages
)
42 return change_memory_attr(addr
, numpages
, SET_MEMORY_P
);
45 static inline int __must_check
set_memory_rox(unsigned long addr
, int numpages
)
47 return change_memory_attr(addr
, numpages
, SET_MEMORY_ROX
);
49 #define set_memory_rox set_memory_rox