diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2009-03-23 09:50:03 -0400 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2009-03-23 16:20:20 -0400 |
| commit | 80c5520811d3805adcb15c570ea5e2d489fa5d0b (patch) | |
| tree | ae797a7f4af39f80e77526533d06ac23b439f0ab /arch/x86/include/asm/pgtable-3level.h | |
| parent | b3e3b302cf6dc8d60b67f0e84d1fa5648889c038 (diff) | |
| parent | 8c083f081d0014057901c68a0a3e0f8ca7ac8d23 (diff) | |
Merge branch 'cpus4096' into irq/threaded
Conflicts:
arch/parisc/kernel/irq.c
kernel/irq/handle.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include/asm/pgtable-3level.h')
| -rw-r--r-- | arch/x86/include/asm/pgtable-3level.h | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index 447da43cddb3..3f13cdf61156 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 |
| @@ -120,15 +105,6 @@ static inline void pud_clear(pud_t *pudp) | |||
| 120 | write_cr3(pgd); | 105 | write_cr3(pgd); |
| 121 | } | 106 | } |
| 122 | 107 | ||
| 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 | 108 | #ifdef CONFIG_SMP |
| 133 | static inline pte_t native_ptep_get_and_clear(pte_t *ptep) | 109 | static inline pte_t native_ptep_get_and_clear(pte_t *ptep) |
| 134 | { | 110 | { |
| @@ -145,17 +121,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) | 121 | #define native_ptep_get_and_clear(xp) native_local_ptep_get_and_clear(xp) |
| 146 | #endif | 122 | #endif |
| 147 | 123 | ||
| 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 | /* | 124 | /* |
| 160 | * Bits 0, 6 and 7 are taken in the low part of the pte, | 125 | * 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. | 126 | * put the 32 bits of offset into the high part. |
