aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/numaq_32.c
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-06-03 13:25:54 -0400
committerIngo Molnar <mingo@elte.hu>2008-06-04 06:01:06 -0400
commitab530e1f781da4d704892daab2bdd568f473687d (patch)
tree38fd2364225dd8ba8051c77df25457cdaa96833f /arch/x86/kernel/numaq_32.c
parentf19dc2f22a180dde3f9e611b76c73f5390c11ecd (diff)
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.c24
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 @@
31#include <asm/numaq.h> 31#include <asm/numaq.h>
32#include <asm/topology.h> 32#include <asm/topology.h>
33#include <asm/processor.h> 33#include <asm/processor.h>
34#include <asm/mpspec.h>
34 35
35#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT)) 36#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
36 37
38int found_numaq;
39
37/* 40/*
38 * Function: smp_dump_qct() 41 * Function: smp_dump_qct()
39 * 42 *
@@ -67,13 +70,24 @@ static void __init smp_dump_qct(void)
67 } 70 }
68} 71}
69 72
70/* 73static __init void early_check_numaq(void)
71 * Unlike Summit, we don't really care to let the NUMA-Q 74{
72 * fall back to flat mode. Don't compile for NUMA-Q 75 /*
73 * unless you really need it! 76 * Find possible boot-time SMP configuration:
74 */ 77 */
78 early_find_smp_config();
79 /*
80 * get boot-time SMP configuration:
81 */
82 if (smp_found_config)
83 early_get_smp_config();
84}
85
75int __init get_memcfg_numaq(void) 86int __init get_memcfg_numaq(void)
76{ 87{
88 early_check_numaq();
89 if (!found_numaq)
90 return 0;
77 smp_dump_qct(); 91 smp_dump_qct();
78 return 1; 92 return 1;
79} 93}