Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _ASMS390_SET_MEMORY_H
0003 #define _ASMS390_SET_MEMORY_H
0004 
0005 #include <linux/mutex.h>
0006 
0007 extern struct mutex cpa_mutex;
0008 
0009 #define SET_MEMORY_RO   1UL
0010 #define SET_MEMORY_RW   2UL
0011 #define SET_MEMORY_NX   4UL
0012 #define SET_MEMORY_X    8UL
0013 #define SET_MEMORY_4K  16UL
0014 
0015 int __set_memory(unsigned long addr, int numpages, unsigned long flags);
0016 
0017 static inline int set_memory_ro(unsigned long addr, int numpages)
0018 {
0019     return __set_memory(addr, numpages, SET_MEMORY_RO);
0020 }
0021 
0022 static inline int set_memory_rw(unsigned long addr, int numpages)
0023 {
0024     return __set_memory(addr, numpages, SET_MEMORY_RW);
0025 }
0026 
0027 static inline int set_memory_nx(unsigned long addr, int numpages)
0028 {
0029     return __set_memory(addr, numpages, SET_MEMORY_NX);
0030 }
0031 
0032 static inline int set_memory_x(unsigned long addr, int numpages)
0033 {
0034     return __set_memory(addr, numpages, SET_MEMORY_X);
0035 }
0036 
0037 static inline int set_memory_4k(unsigned long addr, int numpages)
0038 {
0039     return __set_memory(addr, numpages, SET_MEMORY_4K);
0040 }
0041 
0042 #endif