Skip to content

Commit

Permalink
x86: clean up max_pfn_mapped usage - 64-bit
Browse files Browse the repository at this point in the history
on 64-bit we only get valid max_pfn_mapped after init_memory_mapping().

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Jun 3, 2008
1 parent 6af61a7 commit c8c034c
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 13 deletions.
15 changes: 3 additions & 12 deletions arch/x86/kernel/e820_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,12 @@ unsigned long __init e820_end_of_ram(void)

last_pfn = find_max_pfn_with_active_regions();

if (last_pfn > max_pfn_mapped)
max_pfn_mapped = last_pfn;
if (max_pfn_mapped > MAXMEM>>PAGE_SHIFT)
max_pfn_mapped = MAXMEM>>PAGE_SHIFT;
if (last_pfn > MAXMEM>>PAGE_SHIFT)
last_pfn = MAXMEM>>PAGE_SHIFT;
if (last_pfn > end_user_pfn)
last_pfn = end_user_pfn;
if (last_pfn > max_pfn_mapped)
last_pfn = max_pfn_mapped;

printk(KERN_INFO "max_pfn_mapped = %lu\n", max_pfn_mapped);
printk(KERN_INFO "last_pfn = %lu\n", last_pfn);
return last_pfn;
}

Expand Down Expand Up @@ -109,10 +105,6 @@ static int __init e820_find_active_region(const struct e820entry *ei,
if (*ei_startpfn >= *ei_endpfn)
return 0;

/* Check if max_pfn_mapped should be updated */
if (ei->type != E820_RAM && *ei_endpfn > max_pfn_mapped)
max_pfn_mapped = *ei_endpfn;

/* Skip if map is outside the node */
if (ei->type != E820_RAM || *ei_endpfn <= start_pfn ||
*ei_startpfn >= last_pfn)
Expand Down Expand Up @@ -229,7 +221,6 @@ static int __init parse_memmap_opt(char *p)
saved_max_pfn = e820_end_of_ram();
remove_all_active_ranges();
#endif
max_pfn_mapped = 0;
e820.nr_map = 0;
userdef = 1;
return 0;
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kernel/setup_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -396,7 +396,7 @@ void __init setup_arch(char **cmdline_p)

check_efer();

max_pfn_mapped = init_memory_mapping(0, (max_pfn_mapped << PAGE_SHIFT));
max_pfn_mapped = init_memory_mapping(0, (end_pfn << PAGE_SHIFT));
if (efi_enabled)
efi_init();

Expand Down

0 comments on commit c8c034c

Please sign in to comment.