Commit e623ce48 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] fix Summit srat.h includes

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.
parent 5ee6ddc2
...@@ -119,7 +119,7 @@ static inline struct pglist_data *pfn_to_pgdat(unsigned long pfn) ...@@ -119,7 +119,7 @@ static inline struct pglist_data *pfn_to_pgdat(unsigned long pfn)
#ifdef CONFIG_X86_NUMAQ #ifdef CONFIG_X86_NUMAQ
#include <asm/numaq.h> #include <asm/numaq.h>
#elif CONFIG_NUMA /* summit or generic arch */ #elif CONFIG_ACPI_SRAT
#include <asm/srat.h> #include <asm/srat.h>
#elif CONFIG_X86_PC #elif CONFIG_X86_PC
#define get_memcfg_numa get_memcfg_numa_flat #define get_memcfg_numa get_memcfg_numa_flat
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#ifdef CONFIG_X86_NUMAQ #ifdef CONFIG_X86_NUMAQ
#include <asm/numaq.h> #include <asm/numaq.h>
#elif CONFIG_NUMA #elif CONFIG_ACPI_SRAT
#include <asm/srat.h> #include <asm/srat.h>
#else #else
#define MAX_NUMNODES 1 #define MAX_NUMNODES 1
......
...@@ -27,6 +27,10 @@ ...@@ -27,6 +27,10 @@
#ifndef _ASM_SRAT_H_ #ifndef _ASM_SRAT_H_
#define _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 #define MAX_NUMNODES 8
extern void get_memcfg_from_srat(void); extern void get_memcfg_from_srat(void);
extern unsigned long *get_zholes_size(int); extern unsigned long *get_zholes_size(int);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment