Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80989ce0 authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

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: default avatarYinghai Lu <yinghai@kernel.org>
LKML-Reference: <49BF0978.40605@kernel.org>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 5d423ccd
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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 */
+3 −4
Original line number Diff line number Diff line
@@ -132,12 +132,11 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
	 */
#ifdef CONFIG_X86_32
	start = 0x7000;
	e820_table_start = find_e820_area(start, max_pfn_mapped<<PAGE_SHIFT,
					tables, PAGE_SIZE);
#else /* CONFIG_X86_64 */
#else
	start = 0x8000;
	e820_table_start = find_e820_area(start, end, tables, PAGE_SIZE);
#endif
	e820_table_start = find_e820_area(start, max_pfn_mapped<<PAGE_SHIFT,
					tables, PAGE_SIZE);
	if (e820_table_start == -1UL)
		panic("Cannot find space for the kernel page tables");