diff options
Diffstat (limited to 'include/asm-s390/pgtable.h')
-rw-r--r-- | include/asm-s390/pgtable.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h index 4c0698c0dda5..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 |
@@ -518,6 +520,11 @@ static inline int pte_file(pte_t pte) | |||
518 | return (pte_val(pte) & mask) == _PAGE_TYPE_FILE; | 520 | return (pte_val(pte) & mask) == _PAGE_TYPE_FILE; |
519 | } | 521 | } |
520 | 522 | ||
523 | static inline int pte_special(pte_t pte) | ||
524 | { | ||
525 | return (pte_val(pte) & _PAGE_SPECIAL); | ||
526 | } | ||
527 | |||
521 | #define __HAVE_ARCH_PTE_SAME | 528 | #define __HAVE_ARCH_PTE_SAME |
522 | #define pte_same(a,b) (pte_val(a) == pte_val(b)) | 529 | #define pte_same(a,b) (pte_val(a) == pte_val(b)) |
523 | 530 | ||
@@ -715,6 +722,12 @@ static inline pte_t pte_mkyoung(pte_t pte) | |||
715 | return pte; | 722 | return pte; |
716 | } | 723 | } |
717 | 724 | ||
725 | static inline pte_t pte_mkspecial(pte_t pte) | ||
726 | { | ||
727 | pte_val(pte) |= _PAGE_SPECIAL; | ||
728 | return pte; | ||
729 | } | ||
730 | |||
718 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG | 731 | #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG |
719 | static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, | 732 | static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, |
720 | unsigned long addr, pte_t *ptep) | 733 | unsigned long addr, pte_t *ptep) |