x86: clean up and and print out initial max_pfn_mapped
Do this so we can check the range that is mapped before init_memory_mapping(). To be able to print out meaningful info, we first have to fix 64-bit to have max_pfn_mapped assigned before that call. This also unifies the code-path a bit. [ Impact: print more debug info, cleanup ] Signed-off-by: Yinghai Lu <yinghai@kernel.org> LKML-Reference: <49BF0978.40605@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
5d423ccd7b
Коммит
80989ce064
|
@ -862,12 +862,16 @@ void __init setup_arch(char **cmdline_p)
|
|||
max_low_pfn = max_pfn;
|
||||
|
||||
high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1;
|
||||
max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
|
||||
setup_bios_corruption_check();
|
||||
#endif
|
||||
|
||||
printk(KERN_DEBUG "initial memory mapped : 0 - %08lx\n",
|
||||
max_pfn_mapped<<PAGE_SHIFT);
|
||||
|
||||
reserve_brk();
|
||||
|
||||
/* max_pfn_mapped is updated here */
|
||||
|
|
|
@ -132,12 +132,11 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
|
|||
*/
|
||||
#ifdef CONFIG_X86_32
|
||||
start = 0x7000;
|
||||
#else
|
||||
start = 0x8000;
|
||||
#endif
|
||||
e820_table_start = find_e820_area(start, max_pfn_mapped<<PAGE_SHIFT,
|
||||
tables, PAGE_SIZE);
|
||||
#else /* CONFIG_X86_64 */
|
||||
start = 0x8000;
|
||||
e820_table_start = find_e820_area(start, end, tables, PAGE_SIZE);
|
||||
#endif
|
||||
if (e820_table_start == -1UL)
|
||||
panic("Cannot find space for the kernel page tables");
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче