Messages in this thread Patch in this message | | | From | Andi Kleen <> | Subject | [PATCH] [6/9] GBPAGES: Add gbpages support to lookup_address | Date | Tue, 29 Jan 2008 06:06:34 +0100 (CET) |
| |
Signed-off-by: Andi Kleen <ak@suse.de>
--- arch/x86/mm/pageattr.c | 5 +++++ include/asm-x86/pgtable.h | 1 + 2 files changed, 6 insertions(+)
Index: linux/arch/x86/mm/pageattr.c =================================================================== --- linux.orig/arch/x86/mm/pageattr.c +++ linux/arch/x86/mm/pageattr.c @@ -152,9 +152,14 @@ pte_t *lookup_address(unsigned long addr if (pgd_none(*pgd)) return NULL; + + *level = PG_LEVEL_1G; pud = pud_offset(pgd, address); if (pud_none(*pud)) return NULL; + if (pud_large(*pud)) + return (pte_t *)pud; + pmd = pmd_offset(pud, address); if (pmd_none(*pmd)) return NULL; Index: linux/include/asm-x86/pgtable.h =================================================================== --- linux.orig/include/asm-x86/pgtable.h +++ linux/include/asm-x86/pgtable.h @@ -242,6 +242,7 @@ enum { PG_LEVEL_NONE, PG_LEVEL_4K, PG_LEVEL_2M, + PG_LEVEL_1G, }; /*
| |