From a718ceb50010aeb18e5944bfd2f1b064e7511018 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Fri, 16 Nov 2012 19:39:08 -0800 Subject: [PATCH] --- yaml --- r: 356211 b: refs/heads/master c: 148b20989e0b83cb301e1fcd9e987c7abde05333 h: refs/heads/master i: 356209: e9a3e503710b2d4fd3719ecd4d233a070cf68591 356207: 4509840d8819f683e4dae92a6876df0fa605d028 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/setup.c | 15 +-------------- trunk/arch/x86/mm/init.c | 12 ++++++++++++ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/[refs] b/[refs] index ce8865d10002..48e6d2ea059b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cf47065961b48727b4e47bc3e2e67f4996878437 +refs/heads/master: 148b20989e0b83cb301e1fcd9e987c7abde05333 diff --git a/trunk/arch/x86/kernel/setup.c b/trunk/arch/x86/kernel/setup.c index 20151941cce8..85b62f1c8071 100644 --- a/trunk/arch/x86/kernel/setup.c +++ b/trunk/arch/x86/kernel/setup.c @@ -282,18 +282,7 @@ void * __init extend_brk(size_t size, size_t align) return ret; } -#ifdef CONFIG_X86_64 -static void __init init_gbpages(void) -{ - if (direct_gbpages && cpu_has_gbpages) - printk(KERN_INFO "Using GB pages for direct mapping\n"); - else - direct_gbpages = 0; -} -#else -static inline void init_gbpages(void) -{ -} +#ifdef CONFIG_X86_32 static void __init cleanup_highmap(void) { } @@ -933,8 +922,6 @@ void __init setup_arch(char **cmdline_p) setup_real_mode(); - init_gbpages(); - init_mem_mapping(); memblock.current_limit = get_max_mapped(); diff --git a/trunk/arch/x86/mm/init.c b/trunk/arch/x86/mm/init.c index 3cadf1013cea..8168bf8fcda7 100644 --- a/trunk/arch/x86/mm/init.c +++ b/trunk/arch/x86/mm/init.c @@ -98,6 +98,16 @@ int direct_gbpages #endif ; +static void __init init_gbpages(void) +{ +#ifdef CONFIG_X86_64 + if (direct_gbpages && cpu_has_gbpages) + printk(KERN_INFO "Using GB pages for direct mapping\n"); + else + direct_gbpages = 0; +#endif +} + struct map_range { unsigned long start; unsigned long end; @@ -108,6 +118,8 @@ static int page_size_mask; static void __init probe_page_size_mask(void) { + init_gbpages(); + #if !defined(CONFIG_DEBUG_PAGEALLOC) && !defined(CONFIG_KMEMCHECK) /* * For CONFIG_DEBUG_PAGEALLOC, identity mapping will use small pages.