|
@@ -104,5 +104,21 @@
|
|
#define PAGE_READONLY __pgprot(_PAGE_BASE | _PAGE_USER)
|
|
#define PAGE_READONLY __pgprot(_PAGE_BASE | _PAGE_USER)
|
|
#define PAGE_READONLY_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC)
|
|
#define PAGE_READONLY_X __pgprot(_PAGE_BASE | _PAGE_USER | _PAGE_EXEC)
|
|
|
|
|
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
|
+static inline pte_t pte_mkprivileged(pte_t pte)
|
|
|
|
+{
|
|
|
|
+ return __pte((pte_val(pte) & ~_PAGE_USER) | _PAGE_PRIVILEGED);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+#define pte_mkprivileged pte_mkprivileged
|
|
|
|
+
|
|
|
|
+static inline pte_t pte_mkuser(pte_t pte)
|
|
|
|
+{
|
|
|
|
+ return __pte((pte_val(pte) & ~_PAGE_PRIVILEGED) | _PAGE_USER);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+#define pte_mkuser pte_mkuser
|
|
|
|
+#endif /* __ASSEMBLY__ */
|
|
|
|
+
|
|
#endif /* __KERNEL__ */
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_POWERPC_NOHASH_PTE_BOOK3E_H */
|
|
#endif /* _ASM_POWERPC_NOHASH_PTE_BOOK3E_H */
|