diff options
Diffstat (limited to 'arch/x86/include/asm/pgtable.h')
-rw-r--r-- | arch/x86/include/asm/pgtable.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index a80a956ae655..76696e98f5b3 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h | |||
@@ -473,10 +473,11 @@ static inline unsigned long pmd_page_vaddr(pmd_t pmd) | |||
473 | return (unsigned long)__va(pmd_val(pmd) & PTE_PFN_MASK); | 473 | return (unsigned long)__va(pmd_val(pmd) & PTE_PFN_MASK); |
474 | } | 474 | } |
475 | 475 | ||
476 | static inline struct page *pmd_page(pmd_t pmd) | 476 | /* |
477 | { | 477 | * Currently stuck as a macro due to indirect forward reference to |
478 | return pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT); | 478 | * linux/mmzone.h's __section_mem_map_addr() definition: |
479 | } | 479 | */ |
480 | #define pmd_page(pmd) pfn_to_page(pmd_val(pmd) >> PAGE_SHIFT) | ||
480 | 481 | ||
481 | /* | 482 | /* |
482 | * the pmd page can be thought of an array like this: pmd_t[PTRS_PER_PMD] | 483 | * the pmd page can be thought of an array like this: pmd_t[PTRS_PER_PMD] |
@@ -543,10 +544,11 @@ static inline unsigned long pud_page_vaddr(pud_t pud) | |||
543 | return (unsigned long)__va((unsigned long)pud_val(pud) & PTE_PFN_MASK); | 544 | return (unsigned long)__va((unsigned long)pud_val(pud) & PTE_PFN_MASK); |
544 | } | 545 | } |
545 | 546 | ||
546 | static inline struct page *pud_page(pud_t pud) | 547 | /* |
547 | { | 548 | * Currently stuck as a macro due to indirect forward reference to |
548 | return pfn_to_page(pud_val(pud) >> PAGE_SHIFT); | 549 | * linux/mmzone.h's __section_mem_map_addr() definition: |
549 | } | 550 | */ |
551 | #define pud_page(pud) pfn_to_page(pud_val(pud) >> PAGE_SHIFT) | ||
550 | 552 | ||
551 | /* Find an entry in the second-level page table.. */ | 553 | /* Find an entry in the second-level page table.. */ |
552 | static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address) | 554 | static inline pmd_t *pmd_offset(pud_t *pud, unsigned long address) |
@@ -582,10 +584,11 @@ static inline unsigned long pgd_page_vaddr(pgd_t pgd) | |||
582 | return (unsigned long)__va((unsigned long)pgd_val(pgd) & PTE_PFN_MASK); | 584 | return (unsigned long)__va((unsigned long)pgd_val(pgd) & PTE_PFN_MASK); |
583 | } | 585 | } |
584 | 586 | ||
585 | static inline struct page *pgd_page(pgd_t pgd) | 587 | /* |
586 | { | 588 | * Currently stuck as a macro due to indirect forward reference to |
587 | return pfn_to_page(pgd_val(pgd) >> PAGE_SHIFT); | 589 | * linux/mmzone.h's __section_mem_map_addr() definition: |
588 | } | 590 | */ |
591 | #define pgd_page(pgd) pfn_to_page(pgd_val(pgd) >> PAGE_SHIFT) | ||
589 | 592 | ||
590 | /* to find an entry in a page-table-directory. */ | 593 | /* to find an entry in a page-table-directory. */ |
591 | static inline unsigned pud_index(unsigned long address) | 594 | static inline unsigned pud_index(unsigned long address) |