From: Dave Hansen <haveblue@us.ibm.com>

I was compiling for my plain 'ol PC, and was getting unresolved symbols
for get_memcfg_from_srat() and get_zholes_size().  The CONFIG_NUMA
definition right now allows it to be turned on for plain old X86_PC. 
Does anyone know why this is?  

depends on SMP && HIGHMEM64G && 
          (X86_PC || X86_NUMAQ || X86_GENERICARCH || 
                  (X86_SUMMIT && ACPI && !ACPI_HT_ONLY))

In any case, the summit code incorrectly assumes in at least 2 places
that NUMA && !NUMAQ means summit.  Someone was evidently trying to cover
the generic subarch case, but that's already taken care of by the lovely
config system and CONFIG_ACPI_SRAT.  This patch fixes those assumptions
and adds a nice little warning for people that try to #include srat.h
without having srat support turned on.  



 include/asm-i386/mmzone.h   |    2 +-
 include/asm-i386/numnodes.h |    2 +-
 include/asm-i386/srat.h     |    4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

diff -puN include/asm-i386/mmzone.h~summit-includes-fix include/asm-i386/mmzone.h
--- 25/include/asm-i386/mmzone.h~summit-includes-fix	2003-09-07 11:57:18.000000000 -0700
+++ 25-akpm/include/asm-i386/mmzone.h	2003-09-07 11:57:18.000000000 -0700
@@ -119,7 +119,7 @@ static inline struct pglist_data *pfn_to
 
 #ifdef CONFIG_X86_NUMAQ
 #include <asm/numaq.h>
-#elif CONFIG_NUMA	/* summit or generic arch */
+#elif CONFIG_ACPI_SRAT
 #include <asm/srat.h>
 #elif CONFIG_X86_PC
 #define get_memcfg_numa get_memcfg_numa_flat
diff -puN include/asm-i386/numnodes.h~summit-includes-fix include/asm-i386/numnodes.h
--- 25/include/asm-i386/numnodes.h~summit-includes-fix	2003-09-07 11:57:18.000000000 -0700
+++ 25-akpm/include/asm-i386/numnodes.h	2003-09-07 11:57:18.000000000 -0700
@@ -5,7 +5,7 @@
 
 #ifdef CONFIG_X86_NUMAQ
 #include <asm/numaq.h>
-#elif CONFIG_NUMA
+#elif CONFIG_ACPI_SRAT
 #include <asm/srat.h>
 #else
 #define MAX_NUMNODES	1
diff -puN include/asm-i386/srat.h~summit-includes-fix include/asm-i386/srat.h
--- 25/include/asm-i386/srat.h~summit-includes-fix	2003-09-07 11:57:18.000000000 -0700
+++ 25-akpm/include/asm-i386/srat.h	2003-09-07 11:57:18.000000000 -0700
@@ -27,6 +27,10 @@
 #ifndef _ASM_SRAT_H_
 #define _ASM_SRAT_H_
 
+#ifndef CONFIG_ACPI_SRAT
+#error CONFIG_ACPI_SRAT not defined, and srat.h header has been included
+#endif
+
 #define MAX_NUMNODES		8
 extern void get_memcfg_from_srat(void);
 extern unsigned long *get_zholes_size(int);

_