diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-03 21:25:54 +0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-04 14:01:06 +0400 |
commit | ab530e1f781da4d704892daab2bdd568f473687d (patch) | |
tree | 38fd2364225dd8ba8051c77df25457cdaa96833f /arch/x86/kernel/numaq_32.c | |
parent | f19dc2f22a180dde3f9e611b76c73f5390c11ecd (diff) | |
download | linux-ab530e1f781da4d704892daab2bdd568f473687d.tar.xz |
x86: early check if a system is numaq
so we could fall back to one node numa.
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/numaq_32.c')
-rw-r--r-- | arch/x86/kernel/numaq_32.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/arch/x86/kernel/numaq_32.c b/arch/x86/kernel/numaq_32.c index e65281b1634b..922be66668b8 100644 --- a/arch/x86/kernel/numaq_32.c +++ b/arch/x86/kernel/numaq_32.c @@ -31,9 +31,12 @@ #include <asm/numaq.h> #include <asm/topology.h> #include <asm/processor.h> +#include <asm/mpspec.h> #define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT)) +int found_numaq; + /* * Function: smp_dump_qct() * @@ -67,13 +70,24 @@ static void __init smp_dump_qct(void) } } -/* - * Unlike Summit, we don't really care to let the NUMA-Q - * fall back to flat mode. Don't compile for NUMA-Q - * unless you really need it! - */ +static __init void early_check_numaq(void) +{ + /* + * Find possible boot-time SMP configuration: + */ + early_find_smp_config(); + /* + * get boot-time SMP configuration: + */ + if (smp_found_config) + early_get_smp_config(); +} + int __init get_memcfg_numaq(void) { + early_check_numaq(); + if (!found_numaq) + return 0; smp_dump_qct(); return 1; } |