Commit 5f51e139 authored by Jan Beulich's avatar Jan Beulich Committed by Linus Torvalds

[PATCH] x86_64: miscellaneous mm/init.c fixes

 - fix an off-by-one error in phys_pmd_init()
 - prevent phys_pmd_init() from removing mappings established earlier
 - fix the direct mapping early printk to in fact show the end of the range
 - remove an apparently orphan comment
Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b633237e
...@@ -88,8 +88,6 @@ void show_mem(void) ...@@ -88,8 +88,6 @@ void show_mem(void)
printk(KERN_INFO "%lu pages swap cached\n",cached); printk(KERN_INFO "%lu pages swap cached\n",cached);
} }
/* References to section boundaries */
int after_bootmem; int after_bootmem;
static __init void *spp_getpage(void) static __init void *spp_getpage(void)
...@@ -259,9 +257,10 @@ phys_pmd_init(pmd_t *pmd, unsigned long address, unsigned long end) ...@@ -259,9 +257,10 @@ phys_pmd_init(pmd_t *pmd, unsigned long address, unsigned long end)
for (i = 0; i < PTRS_PER_PMD; pmd++, i++, address += PMD_SIZE) { for (i = 0; i < PTRS_PER_PMD; pmd++, i++, address += PMD_SIZE) {
unsigned long entry; unsigned long entry;
if (address > end) { if (address >= end) {
for (; i < PTRS_PER_PMD; i++, pmd++) if (!after_bootmem)
set_pmd(pmd, __pmd(0)); for (; i < PTRS_PER_PMD; i++, pmd++)
set_pmd(pmd, __pmd(0));
break; break;
} }
entry = _PAGE_NX|_PAGE_PSE|_KERNPG_TABLE|_PAGE_GLOBAL|address; entry = _PAGE_NX|_PAGE_PSE|_KERNPG_TABLE|_PAGE_GLOBAL|address;
...@@ -339,7 +338,8 @@ static void __init find_early_table_space(unsigned long end) ...@@ -339,7 +338,8 @@ static void __init find_early_table_space(unsigned long end)
table_end = table_start; table_end = table_start;
early_printk("kernel direct mapping tables up to %lx @ %lx-%lx\n", early_printk("kernel direct mapping tables up to %lx @ %lx-%lx\n",
end, table_start << PAGE_SHIFT, table_end << PAGE_SHIFT); end, table_start << PAGE_SHIFT,
(table_start << PAGE_SHIFT) + tables);
} }
/* Setup the direct mapping of the physical memory at PAGE_OFFSET. /* Setup the direct mapping of the physical memory at PAGE_OFFSET.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment