|
@@ -50,6 +50,9 @@
|
|
#define _PAGE_USER 0
|
|
#define _PAGE_USER 0
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
+#ifndef _PAGE_NA
|
|
|
|
+#define _PAGE_NA 0
|
|
|
|
+#endif
|
|
|
|
|
|
#ifndef _PMD_PRESENT_MASK
|
|
#ifndef _PMD_PRESENT_MASK
|
|
#define _PMD_PRESENT_MASK _PMD_PRESENT
|
|
#define _PMD_PRESENT_MASK _PMD_PRESENT
|
|
@@ -122,7 +125,7 @@ static inline bool pte_user(pte_t pte)
|
|
/* Mask of bits returned by pte_pgprot() */
|
|
/* Mask of bits returned by pte_pgprot() */
|
|
#define PAGE_PROT_BITS (_PAGE_GUARDED | _PAGE_COHERENT | _PAGE_NO_CACHE | \
|
|
#define PAGE_PROT_BITS (_PAGE_GUARDED | _PAGE_COHERENT | _PAGE_NO_CACHE | \
|
|
_PAGE_WRITETHRU | _PAGE_ENDIAN | _PAGE_4K_PFN | \
|
|
_PAGE_WRITETHRU | _PAGE_ENDIAN | _PAGE_4K_PFN | \
|
|
- _PAGE_USER | _PAGE_ACCESSED | _PAGE_RO | \
|
|
|
|
|
|
+ _PAGE_USER | _PAGE_ACCESSED | _PAGE_RO | _PAGE_NA | \
|
|
_PAGE_PRIVILEGED | \
|
|
_PAGE_PRIVILEGED | \
|
|
_PAGE_RW | _PAGE_HWWRITE | _PAGE_DIRTY | _PAGE_EXEC)
|
|
_PAGE_RW | _PAGE_HWWRITE | _PAGE_DIRTY | _PAGE_EXEC)
|
|
|
|
|
|
@@ -150,7 +153,7 @@ static inline bool pte_user(pte_t pte)
|
|
*
|
|
*
|
|
* Note due to the way vm flags are laid out, the bits are XWR
|
|
* Note due to the way vm flags are laid out, the bits are XWR
|
|
*/
|
|
*/
|
|
-#define PAGE_NONE __pgprot(_PAGE_BASE)
|
|
|
|
|
|
+#define PAGE_NONE __pgprot(_PAGE_BASE | _PAGE_NA)
|
|
#define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW)
|
|
#define PAGE_SHARED __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW)
|
|
#define PAGE_SHARED_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW | \
|
|
#define PAGE_SHARED_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_RW | \
|
|
_PAGE_EXEC)
|
|
_PAGE_EXEC)
|