set_memory.h 779 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASMS390_SET_MEMORY_H
  3. #define _ASMS390_SET_MEMORY_H
  4. #define SET_MEMORY_RO 1UL
  5. #define SET_MEMORY_RW 2UL
  6. #define SET_MEMORY_NX 4UL
  7. #define SET_MEMORY_X 8UL
  8. int __set_memory(unsigned long addr, int numpages, unsigned long flags);
  9. static inline int set_memory_ro(unsigned long addr, int numpages)
  10. {
  11. return __set_memory(addr, numpages, SET_MEMORY_RO);
  12. }
  13. static inline int set_memory_rw(unsigned long addr, int numpages)
  14. {
  15. return __set_memory(addr, numpages, SET_MEMORY_RW);
  16. }
  17. static inline int set_memory_nx(unsigned long addr, int numpages)
  18. {
  19. return __set_memory(addr, numpages, SET_MEMORY_NX);
  20. }
  21. static inline int set_memory_x(unsigned long addr, int numpages)
  22. {
  23. return __set_memory(addr, numpages, SET_MEMORY_X);
  24. }
  25. #endif