aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/asm-s390/pgtable.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h
index 76e8a7904e8a..f8347ce9c5a1 100644
--- a/include/asm-s390/pgtable.h
+++ b/include/asm-s390/pgtable.h
@@ -220,6 +220,8 @@ extern char empty_zero_page[PAGE_SIZE];
220/* Software bits in the page table entry */ 220/* Software bits in the page table entry */
221#define _PAGE_SWT 0x001 /* SW pte type bit t */ 221#define _PAGE_SWT 0x001 /* SW pte type bit t */
222#define _PAGE_SWX 0x002 /* SW pte type bit x */ 222#define _PAGE_SWX 0x002 /* SW pte type bit x */
223#define _PAGE_SPECIAL 0x004 /* SW associated with special page */
224#define __HAVE_ARCH_PTE_SPECIAL
223 225
224/* Six different types of pages. */ 226/* Six different types of pages. */
225#define _PAGE_TYPE_EMPTY 0x400 227#define _PAGE_TYPE_EMPTY 0x400
@@ -520,7 +522,7 @@ static inline int pte_file(pte_t pte)
520 522
521static inline int pte_special(pte_t pte) 523static inline int pte_special(pte_t pte)
522{ 524{
523 return 0; 525 return (pte_val(pte) & _PAGE_SPECIAL);
524} 526}
525 527
526#define __HAVE_ARCH_PTE_SAME 528#define __HAVE_ARCH_PTE_SAME
@@ -722,6 +724,7 @@ static inline pte_t pte_mkyoung(pte_t pte)
722 724
723static inline pte_t pte_mkspecial(pte_t pte) 725static inline pte_t pte_mkspecial(pte_t pte)
724{ 726{
727 pte_val(pte) |= _PAGE_SPECIAL;
725 return pte; 728 return pte;
726} 729}
727 730