aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/pgtable.h5
-rw-r--r--arch/x86/include/asm/pgtable_64.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index a51a97ade636..decccb0a6410 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -506,6 +506,11 @@ static inline unsigned pud_index(unsigned long address)
506{ 506{
507 return (address >> PUD_SHIFT) & (PTRS_PER_PUD - 1); 507 return (address >> PUD_SHIFT) & (PTRS_PER_PUD - 1);
508} 508}
509
510static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address)
511{
512 return (pud_t *)pgd_page_vaddr(*pgd) + pud_index(address);
513}
509#endif /* PAGETABLE_LEVELS > 3 */ 514#endif /* PAGETABLE_LEVELS > 3 */
510 515
511#endif /* __ASSEMBLY__ */ 516#endif /* __ASSEMBLY__ */
diff --git a/arch/x86/include/asm/pgtable_64.h b/arch/x86/include/asm/pgtable_64.h
index c17c30f5751a..958dc1e7335e 100644
--- a/arch/x86/include/asm/pgtable_64.h
+++ b/arch/x86/include/asm/pgtable_64.h
@@ -183,8 +183,6 @@ static inline int pgd_large(pgd_t pgd) { return 0; }
183#define mk_kernel_pgd(address) __pgd((address) | _KERNPG_TABLE) 183#define mk_kernel_pgd(address) __pgd((address) | _KERNPG_TABLE)
184 184
185/* PUD - Level3 access */ 185/* PUD - Level3 access */
186#define pud_offset(pgd, address) \
187 ((pud_t *)pgd_page_vaddr(*(pgd)) + pud_index((address)))
188 186
189static inline int pud_large(pud_t pte) 187static inline int pud_large(pud_t pte)
190{ 188{