mirror of https://gitee.com/openkylin/linux.git
powerpc/mm: Handle _PTE_NONE_MASK
I am splitting this as a separate patch to get better review. If ok we should merge this with previous patch. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
945537df7a
commit
d2cf005038
|
@ -36,8 +36,7 @@
|
||||||
#endif
|
#endif
|
||||||
#define _PAGE_SPECIAL 0x00400 /* software: special page */
|
#define _PAGE_SPECIAL 0x00400 /* software: special page */
|
||||||
#define H_PAGE_BUSY 0x00800 /* software: PTE & hash are busy */
|
#define H_PAGE_BUSY 0x00800 /* software: PTE & hash are busy */
|
||||||
|
#define H_PTE_NONE_MASK _PAGE_HPTEFLAGS
|
||||||
|
|
||||||
#define H_PAGE_F_GIX_SHIFT 57
|
#define H_PAGE_F_GIX_SHIFT 57
|
||||||
#define H_PAGE_F_GIX (7ul << 57) /* HPTE index within HPTEG */
|
#define H_PAGE_F_GIX (7ul << 57) /* HPTE index within HPTEG */
|
||||||
#define H_PAGE_F_SECOND (1ul << 60) /* HPTE is in 2ndary HPTEG */
|
#define H_PAGE_F_SECOND (1ul << 60) /* HPTE is in 2ndary HPTEG */
|
||||||
|
@ -134,7 +133,6 @@
|
||||||
#define _PTEIDX_SECONDARY 0x8
|
#define _PTEIDX_SECONDARY 0x8
|
||||||
#define _PTEIDX_GROUP_IX 0x7
|
#define _PTEIDX_GROUP_IX 0x7
|
||||||
|
|
||||||
#define _PTE_NONE_MASK _PAGE_HPTEFLAGS
|
|
||||||
/*
|
/*
|
||||||
* _PAGE_CHG_MASK masks of bits that are to be preserved across
|
* _PAGE_CHG_MASK masks of bits that are to be preserved across
|
||||||
* pgprot changes
|
* pgprot changes
|
||||||
|
@ -379,7 +377,7 @@ static inline int pte_write(pte_t pte) { return !!(pte_val(pte) & _PAGE_WRITE);
|
||||||
static inline int pte_dirty(pte_t pte) { return !!(pte_val(pte) & _PAGE_DIRTY); }
|
static inline int pte_dirty(pte_t pte) { return !!(pte_val(pte) & _PAGE_DIRTY); }
|
||||||
static inline int pte_young(pte_t pte) { return !!(pte_val(pte) & _PAGE_ACCESSED); }
|
static inline int pte_young(pte_t pte) { return !!(pte_val(pte) & _PAGE_ACCESSED); }
|
||||||
static inline int pte_special(pte_t pte) { return !!(pte_val(pte) & _PAGE_SPECIAL); }
|
static inline int pte_special(pte_t pte) { return !!(pte_val(pte) & _PAGE_SPECIAL); }
|
||||||
static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~_PTE_NONE_MASK) == 0; }
|
static inline int pte_none(pte_t pte) { return (pte_val(pte) & ~H_PTE_NONE_MASK) == 0; }
|
||||||
static inline pgprot_t pte_pgprot(pte_t pte) { return __pgprot(pte_val(pte) & PAGE_PROT_BITS); }
|
static inline pgprot_t pte_pgprot(pte_t pte) { return __pgprot(pte_val(pte) & PAGE_PROT_BITS); }
|
||||||
|
|
||||||
#ifdef CONFIG_HAVE_ARCH_SOFT_DIRTY
|
#ifdef CONFIG_HAVE_ARCH_SOFT_DIRTY
|
||||||
|
|
Loading…
Reference in New Issue