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.
#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
#ifdef CONFIG_X86_NUMAQ
#include <asm/numaq.h>
-#elif CONFIG_NUMA
+#elif CONFIG_ACPI_SRAT
#include <asm/srat.h>
#else
#define MAX_NUMNODES 1
#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);