2005-04-17 06:20:36 +08:00
|
|
|
#ifndef _S390_CACHEFLUSH_H
|
|
|
|
#define _S390_CACHEFLUSH_H
|
|
|
|
|
|
|
|
/* Caches aren't brain-dead on the s390. */
|
2011-01-31 18:30:07 +08:00
|
|
|
#include <asm-generic/cacheflush.h>
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2016-03-22 17:54:24 +08:00
|
|
|
#define SET_MEMORY_RO 1UL
|
|
|
|
#define SET_MEMORY_RW 2UL
|
|
|
|
#define SET_MEMORY_NX 4UL
|
|
|
|
#define SET_MEMORY_X 8UL
|
|
|
|
|
|
|
|
int __set_memory(unsigned long addr, int numpages, unsigned long flags);
|
|
|
|
|
|
|
|
static inline int set_memory_ro(unsigned long addr, int numpages)
|
|
|
|
{
|
|
|
|
return __set_memory(addr, numpages, SET_MEMORY_RO);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int set_memory_rw(unsigned long addr, int numpages)
|
|
|
|
{
|
|
|
|
return __set_memory(addr, numpages, SET_MEMORY_RW);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int set_memory_nx(unsigned long addr, int numpages)
|
|
|
|
{
|
|
|
|
return __set_memory(addr, numpages, SET_MEMORY_NX);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline int set_memory_x(unsigned long addr, int numpages)
|
|
|
|
{
|
|
|
|
return __set_memory(addr, numpages, SET_MEMORY_X);
|
|
|
|
}
|
2011-03-16 00:08:22 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
#endif /* _S390_CACHEFLUSH_H */
|