xref: /linux/arch/powerpc/include/asm/set_memory.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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 
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 
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 
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 
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 
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 
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 
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