[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: Jan Beulich <jbeulich@novell.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
b633237e9c
commit
5f51e139d8
|
@ -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)
|
||||||
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)
|
||||||
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.
|
||||||
|
|
Loading…
Reference in New Issue