1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_SET_MEMORY_H
3 #define _ASM_POWERPC_SET_MEMORY_H
4
5 #define SET_MEMORY_RO 0
6 #define SET_MEMORY_RW 1
7 #define SET_MEMORY_NX 2
8 #define SET_MEMORY_X 3
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
12
13 int change_memory_attr(unsigned long addr, int numpages, long action);
14
set_memory_ro(unsigned long addr,int numpages)15 static inline int set_memory_ro(unsigned long addr, int numpages)
16 {
17 return change_memory_attr(addr, numpages, SET_MEMORY_RO);
18 }
19
set_memory_rw(unsigned long addr,int numpages)20 static inline int set_memory_rw(unsigned long addr, int numpages)
21 {
22 return change_memory_attr(addr, numpages, SET_MEMORY_RW);
23 }
24
set_memory_nx(unsigned long addr,int numpages)25 static inline int set_memory_nx(unsigned long addr, int numpages)
26 {
27 return change_memory_attr(addr, numpages, SET_MEMORY_NX);
28 }
29
set_memory_x(unsigned long addr,int numpages)30 static inline int set_memory_x(unsigned long addr, int numpages)
31 {
32 return change_memory_attr(addr, numpages, SET_MEMORY_X);
33 }
34
set_memory_np(unsigned long addr,int numpages)35 static inline int set_memory_np(unsigned long addr, int numpages)
36 {
37 return change_memory_attr(addr, numpages, SET_MEMORY_NP);
38 }
39
set_memory_p(unsigned long addr,int numpages)40 static inline int set_memory_p(unsigned long addr, int numpages)
41 {
42 return change_memory_attr(addr, numpages, SET_MEMORY_P);
43 }
44
set_memory_rox(unsigned long addr,int numpages)45 static inline int set_memory_rox(unsigned long addr, int numpages)
46 {
47 return change_memory_attr(addr, numpages, SET_MEMORY_ROX);
48 }
49 #define set_memory_rox set_memory_rox
50
51 #endif
52