diff options
Diffstat (limited to 'arch/x86/include/asm/pgtable-3level.h')
-rw-r--r-- | arch/x86/include/asm/pgtable-3level.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index 447da43cddb..177b0165ea0 100644 --- a/arch/x86/include/asm/pgtable-3level.h +++ b/arch/x86/include/asm/pgtable-3level.h | |||
@@ -18,21 +18,6 @@ | |||
18 | printk("%s:%d: bad pgd %p(%016Lx).\n", \ | 18 | printk("%s:%d: bad pgd %p(%016Lx).\n", \ |
19 | __FILE__, __LINE__, &(e), pgd_val(e)) | 19 | __FILE__, __LINE__, &(e), pgd_val(e)) |
20 | 20 | ||
21 | static inline int pud_none(pud_t pud) | ||
22 | { | ||
23 | return pud_val(pud) == 0; | ||
24 | } | ||
25 | |||
26 | static inline int pud_bad(pud_t pud) | ||
27 | { | ||
28 | return (pud_val(pud) & ~(PTE_PFN_MASK | _KERNPG_TABLE | _PAGE_USER)) != 0; | ||
29 | } | ||
30 | |||
31 | static inline int pud_present(pud_t pud) | ||
32 | { | ||
33 | return pud_val(pud) & _PAGE_PRESENT; | ||
34 | } | ||
35 | |||
36 | /* Rules for using set_pte: the pte being assigned *must* be | 21 | /* Rules for using set_pte: the pte being assigned *must* be |
37 | * either not present or in a state where the hardware will | 22 | * either not present or in a state where the hardware will |
38 | * not attempt to update the pte. In places where this is | 23 | * not attempt to update the pte. In places where this is |
@@ -46,23 +31,6 @@ static inline void native_set_pte(pte_t *ptep, pte_t pte) | |||
46 | ptep->pte_low = pte.pte_low; | 31 | ptep->pte_low = pte.pte_low; |
47 | } | 32 | } |
48 | 33 | ||
49 | /* | ||
50 | * Since this is only called on user PTEs, and the page fault handler | ||
51 | * must handle the already racy situation of simultaneous page faults, | ||
52 | * we are justified in merely clearing the PTE present bit, followed | ||
53 | * by a set. The ordering here is important. | ||
54 | */ | ||
55 | static inline void native_set_pte_present(struct mm_struct *mm, | ||
56 | unsigned long addr, | ||
57 | pte_t *ptep, pte_t pte) | ||
58 | { | ||
59 | ptep->pte_low = 0; | ||
60 | smp_wmb(); | ||
61 | ptep->pte_high = pte.pte_high; | ||
62 | smp_wmb(); | ||
63 | ptep->pte_low = pte.pte_low; | ||
64 | } | ||
65 | |||
66 | static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) | 34 | static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) |
67 | { | 35 | { |
68 | set_64bit((unsigned long long *)(ptep), native_pte_val(pte)); | 36 | set_64bit((unsigned long long *)(ptep), native_pte_val(pte)); |
@@ -120,15 +88,6 @@ static inline void pud_clear(pud_t *pudp) | |||
120 | write_cr3(pgd); | 88 | write_cr3(pgd); |
121 | } | 89 | } |
122 | 90 | ||
123 | #define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT) | ||
124 | |||
125 | #define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & PTE_PFN_MASK)) | ||
126 | |||
127 | |||
128 | /* Find an entry in the second-level page table.. */ | ||
129 | #define pmd_offset(pud, address) ((pmd_t *)pud_page_vaddr(*(pud)) + \ | ||
130 | pmd_index(address)) | ||
131 | |||
132 | #ifdef CONFIG_SMP | 91 | #ifdef CONFIG_SMP |
133 | static inline pte_t native_ptep_get_and_clear(pte_t *ptep) | 92 | static inline pte_t native_ptep_get_and_clear(pte_t *ptep) |
134 | { | 93 | { |
@@ -145,17 +104,6 @@ static inline pte_t native_ptep_get_and_clear(pte_t *ptep) | |||
145 | #define native_ptep_get_and_clear(xp) native_local_ptep_get_and_clear(xp) | 104 | #define native_ptep_get_and_clear(xp) native_local_ptep_get_and_clear(xp) |
146 | #endif | 105 | #endif |
147 | 106 | ||
148 | #define __HAVE_ARCH_PTE_SAME | ||
149 | static inline int pte_same(pte_t a, pte_t b) | ||
150 | { | ||
151 | return a.pte_low == b.pte_low && a.pte_high == b.pte_high; | ||
152 | } | ||
153 | |||
154 | static inline int pte_none(pte_t pte) | ||
155 | { | ||
156 | return !pte.pte_low && !pte.pte_high; | ||
157 | } | ||
158 | |||
159 | /* | 107 | /* |
160 | * Bits 0, 6 and 7 are taken in the low part of the pte, | 108 | * Bits 0, 6 and 7 are taken in the low part of the pte, |
161 | * put the 32 bits of offset into the high part. | 109 | * put the 32 bits of offset into the high part. |