Loading...
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
7extern 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
15int __set_memory(unsigned long addr, int numpages, unsigned long flags);
16
17static inline int set_memory_ro(unsigned long addr, int numpages)
18{
19 return __set_memory(addr, numpages, SET_MEMORY_RO);
20}
21
22static inline int set_memory_rw(unsigned long addr, int numpages)
23{
24 return __set_memory(addr, numpages, SET_MEMORY_RW);
25}
26
27static inline int set_memory_nx(unsigned long addr, int numpages)
28{
29 return __set_memory(addr, numpages, SET_MEMORY_NX);
30}
31
32static inline int set_memory_x(unsigned long addr, int numpages)
33{
34 return __set_memory(addr, numpages, SET_MEMORY_X);
35}
36
37static inline int set_memory_4k(unsigned long addr, int numpages)
38{
39 return __set_memory(addr, numpages, SET_MEMORY_4K);
40}
41
42#endif
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASMS390_SET_MEMORY_H
3#define _ASMS390_SET_MEMORY_H
4
5#define SET_MEMORY_RO 1UL
6#define SET_MEMORY_RW 2UL
7#define SET_MEMORY_NX 4UL
8#define SET_MEMORY_X 8UL
9
10int __set_memory(unsigned long addr, int numpages, unsigned long flags);
11
12static inline int set_memory_ro(unsigned long addr, int numpages)
13{
14 return __set_memory(addr, numpages, SET_MEMORY_RO);
15}
16
17static inline int set_memory_rw(unsigned long addr, int numpages)
18{
19 return __set_memory(addr, numpages, SET_MEMORY_RW);
20}
21
22static inline int set_memory_nx(unsigned long addr, int numpages)
23{
24 return __set_memory(addr, numpages, SET_MEMORY_NX);
25}
26
27static inline int set_memory_x(unsigned long addr, int numpages)
28{
29 return __set_memory(addr, numpages, SET_MEMORY_X);
30}
31
32#endif