x86: make generic arch support NUMAQ, fix #2
we are checking mptable early for numaq, so don't need to reserve_bootmem for it. bootmem is not there yet. do the same thing as 64-bit. found it on 64g above system from 64-bit kernel kexec to 32 bit kernel with numaq support. Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
b20d70b70e
commit
b1f006b65c
|
@ -853,9 +853,13 @@ static int __init smp_scan_config(unsigned long base, unsigned long length,
|
||||||
smp_found_config = 1;
|
smp_found_config = 1;
|
||||||
#endif
|
#endif
|
||||||
mpf_found = mpf;
|
mpf_found = mpf;
|
||||||
#ifdef CONFIG_X86_32
|
|
||||||
printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n",
|
printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n",
|
||||||
mpf, virt_to_phys(mpf));
|
mpf, virt_to_phys(mpf));
|
||||||
|
|
||||||
|
if (!reserve)
|
||||||
|
return 1;
|
||||||
|
#ifdef CONFIG_X86_32
|
||||||
reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE,
|
reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE,
|
||||||
BOOTMEM_DEFAULT);
|
BOOTMEM_DEFAULT);
|
||||||
if (mpf->mpf_physptr) {
|
if (mpf->mpf_physptr) {
|
||||||
|
@ -877,9 +881,6 @@ static int __init smp_scan_config(unsigned long base, unsigned long length,
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
if (!reserve)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
reserve_bootmem_generic(virt_to_phys(mpf), PAGE_SIZE,
|
reserve_bootmem_generic(virt_to_phys(mpf), PAGE_SIZE,
|
||||||
BOOTMEM_DEFAULT);
|
BOOTMEM_DEFAULT);
|
||||||
if (mpf->mpf_physptr)
|
if (mpf->mpf_physptr)
|
||||||
|
|
Loading…
Reference in New Issue