Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / s390 / include / asm / set_memory.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASMS390_SET_MEMORY_H
3 #define _ASMS390_SET_MEMORY_H
4
5 #include <linux/mutex.h>
6
7 extern struct mutex cpa_mutex;
8
9 #define SET_MEMORY_RO   1UL
10 #define SET_MEMORY_RW   2UL
11 #define SET_MEMORY_NX   4UL
12 #define SET_MEMORY_X    8UL
13 #define SET_MEMORY_4K  16UL
14
15 int __set_memory(unsigned long addr, int numpages, unsigned long flags);
16
17 static inline int set_memory_ro(unsigned long addr, int numpages)
18 {
19         return __set_memory(addr, numpages, SET_MEMORY_RO);
20 }
21
22 static inline int set_memory_rw(unsigned long addr, int numpages)
23 {
24         return __set_memory(addr, numpages, SET_MEMORY_RW);
25 }
26
27 static inline int set_memory_nx(unsigned long addr, int numpages)
28 {
29         return __set_memory(addr, numpages, SET_MEMORY_NX);
30 }
31
32 static inline int set_memory_x(unsigned long addr, int numpages)
33 {
34         return __set_memory(addr, numpages, SET_MEMORY_X);
35 }
36
37 static inline int set_memory_4k(unsigned long addr, int numpages)
38 {
39         return __set_memory(addr, numpages, SET_MEMORY_4K);
40 }
41
42 #endif