aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-s390/pgtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-s390/pgtable.h')
-rw-r--r--include/asm-s390/pgtable.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h
index c7f4f8e3e297..0bdb704ae051 100644
--- a/include/asm-s390/pgtable.h
+++ b/include/asm-s390/pgtable.h
@@ -29,6 +29,7 @@
29 * the S390 page table tree. 29 * the S390 page table tree.
30 */ 30 */
31#ifndef __ASSEMBLY__ 31#ifndef __ASSEMBLY__
32#include <linux/sched.h>
32#include <linux/mm_types.h> 33#include <linux/mm_types.h>
33#include <asm/bitops.h> 34#include <asm/bitops.h>
34#include <asm/bug.h> 35#include <asm/bug.h>
@@ -223,6 +224,9 @@ extern char empty_zero_page[PAGE_SIZE];
223#define _PAGE_SPECIAL 0x004 /* SW associated with special page */ 224#define _PAGE_SPECIAL 0x004 /* SW associated with special page */
224#define __HAVE_ARCH_PTE_SPECIAL 225#define __HAVE_ARCH_PTE_SPECIAL
225 226
227/* Set of bits not changed in pte_modify */
228#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_SPECIAL)
229
226/* Six different types of pages. */ 230/* Six different types of pages. */
227#define _PAGE_TYPE_EMPTY 0x400 231#define _PAGE_TYPE_EMPTY 0x400
228#define _PAGE_TYPE_NONE 0x401 232#define _PAGE_TYPE_NONE 0x401
@@ -681,7 +685,7 @@ static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *pt
681 */ 685 */
682static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) 686static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
683{ 687{
684 pte_val(pte) &= PAGE_MASK; 688 pte_val(pte) &= _PAGE_CHG_MASK;
685 pte_val(pte) |= pgprot_val(newprot); 689 pte_val(pte) |= pgprot_val(newprot);
686 return pte; 690 return pte;
687} 691}