diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 46e684f85b36..c3a606c41ce0 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -963,6 +963,14 @@ void __init setup_arch(char **cmdline_p) | |||
963 | max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT); | 963 | max_low_pfn_mapped = init_memory_mapping(0, max_low_pfn<<PAGE_SHIFT); |
964 | max_pfn_mapped = max_low_pfn_mapped; | 964 | max_pfn_mapped = max_low_pfn_mapped; |
965 | 965 | ||
966 | #ifdef CONFIG_X86_64 | ||
967 | if (max_pfn > max_low_pfn) { | ||
968 | max_pfn_mapped = init_memory_mapping(1UL<<32, | ||
969 | max_pfn<<PAGE_SHIFT); | ||
970 | /* can we preseve max_low_pfn ?*/ | ||
971 | max_low_pfn = max_pfn; | ||
972 | } | ||
973 | #endif | ||
966 | memblock.current_limit = get_max_mapped(); | 974 | memblock.current_limit = get_max_mapped(); |
967 | 975 | ||
968 | /* | 976 | /* |