diff options
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 11 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_32.h | 8 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_64.h | 1 |
3 files changed, 11 insertions, 9 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index 49b5cff78c28..10a8c2e51789 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -498,6 +498,17 @@ static inline unsigned pmd_index(unsigned long address) | |||
498 | */ | 498 | */ |
499 | #define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) | 499 | #define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) |
500 | 500 | ||
501 | /* | ||
502 | * the pte page can be thought of an array like this: pte_t[PTRS_PER_PTE] | ||
503 | * | ||
504 | * this function returns the index of the entry in the pte page which would | ||
505 | * control the given virtual address | ||
506 | */ | ||
507 | static inline unsigned pte_index(unsigned long address) | ||
508 | { | ||
509 | return (address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1); | ||
510 | } | ||
511 | |||
501 | #if PAGETABLE_LEVELS > 2 | 512 | #if PAGETABLE_LEVELS > 2 |
502 | static inline int pud_present(pud_t pud) | 513 | static inline int pud_present(pud_t pud) |
503 | { | 514 | { |
diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h index 6335be843c16..00d298e14a8f 100644 --- a/arch/x86/include/asm/pgtable_32.h +++ b/arch/x86/include/asm/pgtable_32.h | |||
@@ -97,14 +97,6 @@ extern unsigned long pg0[]; | |||
97 | 97 | ||
98 | static inline int pud_large(pud_t pud) { return 0; } | 98 | static inline int pud_large(pud_t pud) { return 0; } |
99 | 99 | ||
100 | /* | ||
101 | * the pte page can be thought of an array like this: pte_t[PTRS_PER_PTE] | ||
102 | * | ||
103 | * this macro returns the index of the entry in the pte page which would | ||
104 | * control the given virtual address | ||
105 | */ | ||
106 | #define pte_index(address) \ | ||
107 | (((address) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) | ||
108 | #define pte_offset_kernel(dir, address) \ | 100 | #define pte_offset_kernel(dir, address) \ |
109 | ((pte_t *)pmd_page_vaddr(*(dir)) + pte_index((address))) | 101 | ((pte_t *)pmd_page_vaddr(*(dir)) + pte_index((address))) |
110 | 102 | ||
diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h index adce05628a01..e7321bc8aa81 100644 --- a/arch/x86/include/asm/pgtable_64.h +++ b/arch/x86/include/asm/pgtable_64.h | |||
@@ -198,7 +198,6 @@ static inline int pud_large(pud_t pte) | |||
198 | 198 | ||
199 | /* PTE - Level 1 access. */ | 199 | /* PTE - Level 1 access. */ |
200 | 200 | ||
201 | #define pte_index(address) (((address) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) | ||
202 | #define pte_offset_kernel(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \ | 201 | #define pte_offset_kernel(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \ |
203 | pte_index((address))) | 202 | pte_index((address))) |
204 | 203 | ||