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 13int change_memory_attr(unsigned long addr, int numpages, long action); 14 15static inline int set_memory_ro(unsigned long addr, int numpages) 16{ 17 return change_memory_attr(addr, numpages, SET_MEMORY_RO); 18} 19 20static inline int set_memory_rw(unsigned long addr, int numpages) 21{ 22 return change_memory_attr(addr, numpages, SET_MEMORY_RW); 23} 24 25static inline int set_memory_nx(unsigned long addr, int numpages) 26{ 27 return change_memory_attr(addr, numpages, SET_MEMORY_NX); 28} 29 30static inline int set_memory_x(unsigned long addr, int numpages) 31{ 32 return change_memory_attr(addr, numpages, SET_MEMORY_X); 33} 34 35static inline int set_memory_np(unsigned long addr, int numpages) 36{ 37 return change_memory_attr(addr, numpages, SET_MEMORY_NP); 38} 39 40static inline int set_memory_p(unsigned long addr, int numpages) 41{ 42 return change_memory_attr(addr, numpages, SET_MEMORY_P); 43} 44 45static 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