Patches contributed by Eötvös Lorand University


commit 835fc943f34139ed062f1ac194b52ed3b7123d88
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 14:42:06 2008 +0200

    x86: mp build fix
    
    fix:
    
     drivers/built-in.o: In function `acpi_pci_irq_enable':
     : undefined reference to `mp_config_acpi_gsi'
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h
index 6a34d6dfd042..dbbf363dafb5 100644
--- a/include/asm-x86/mpspec.h
+++ b/include/asm-x86/mpspec.h
@@ -49,8 +49,17 @@ extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger,
 extern void mp_config_acpi_legacy_irqs(void);
 extern int mp_register_gsi(u32 gsi, int edge_level, int active_high_low);
 extern void MP_intsrc_info(struct mpc_config_intsrc *m);
+#ifdef CONFIG_X86_IO_APIC
 extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin,
 				u32 gsi, int triggering, int polarity);
+#else
+static inline int
+mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin,
+		   u32 gsi, int triggering, int polarity)
+{
+	return 0;
+}
+#endif
 #endif /* CONFIG_ACPI */
 
 #define PHYSID_ARRAY_SIZE	BITS_TO_LONGS(MAX_APICS)

commit 471b3c1b011f807d16f1e19d1d4ecf703f1e7d1a
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 12:39:43 2008 +0200

    x86, numaq 32-bit: build fix
    
    fix:
    
    drivers/built-in.o: In function `acpi_numa_init':
    : undefined reference to `acpi_numa_arch_fixup'
    
    which can happen with ACPI && NUMAQ.

diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index 0d28b4bff817..8b4eac0ca07d 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -467,4 +467,8 @@ void __init
 acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
 {
 }
+
+void __init acpi_numa_arch_fixup(void)
+{
+}
 #endif

commit cf3d0cb8a10a4fd19439bb34995d9ad28854739a
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 11:36:56 2008 +0200

    x86: 32-bit numa, build fix
    
    on Summit it's possible to have:
    
     CONFIG_ACPI_SRAT=y
     CONFIG_HAVE_ARCH_PARSE_SRAT=y
    
    in which case acpi.h defines the acpi_numa_slit_init() and
    acpi_numa_processor_affinity_init() methods as a macro.

diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index bb8544a7cb9d..0d28b4bff817 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -455,7 +455,7 @@ int memory_add_physaddr_to_nid(u64 addr)
 EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
 #endif
 
-#ifdef CONFIG_ACPI_NUMA
+#if defined(CONFIG_ACPI_NUMA) && !defined(CONFIG_HAVE_ARCH_PARSE_SRAT)
 /*
  * Dummy on 32-bit, for now:
  */

commit f3294690979634ee10398bb0beadfe1d4edb881d
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 10:16:10 2008 +0200

    x86, numaq: add pci_acpi_scan_root() stub
    
    allow 32-bit numaq build to succeed with ACPI enabled.

diff --git a/arch/x86/kernel/numaq_32.c b/arch/x86/kernel/numaq_32.c
index e65281b1634b..992f53cb79b6 100644
--- a/arch/x86/kernel/numaq_32.c
+++ b/arch/x86/kernel/numaq_32.c
@@ -87,3 +87,14 @@ static int __init numaq_tsc_disable(void)
 	return 0;
 }
 arch_initcall(numaq_tsc_disable);
+
+#ifdef CONFIG_ACPI
+/*
+ * Dummy implementation:
+ */
+struct pci_bus * __devinit
+pci_acpi_scan_root(struct acpi_device *device, int domain, int busnum)
+{
+	return NULL;
+}
+#endif

commit b28852d6703e4b72ce363c5168ea8d3fb28b9c57
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 10:11:07 2008 +0200

    x86: add dummy acpi_numa_processor_affinity_init() implementation on 32-bit
    
    allow CONFIG_ACPI_NUMA builds to succeed.

diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index d28987a2f2bb..bb8544a7cb9d 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -462,4 +462,9 @@ EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
 void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
 {
 }
+
+void __init
+acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
+{
+}
 #endif

commit 2772f54bf37b033263abe4a2314c40a308a1a5cd
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 10:09:45 2008 +0200

    x86: add acpi_numa_slit_init() dummy implementation on 32-bit
    
    allow CONFIG_ACPI_NUMA builds to succeed on 32-bit.

diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index 435c343c14bc..d28987a2f2bb 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -454,3 +454,12 @@ int memory_add_physaddr_to_nid(u64 addr)
 
 EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
 #endif
+
+#ifdef CONFIG_ACPI_NUMA
+/*
+ * Dummy on 32-bit, for now:
+ */
+void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
+{
+}
+#endif

commit 4c1cbafb88490757a38119c41229251369bcecbc
Author: Ingo Molnar <mingo@elte.hu>
Date:   Tue Jun 3 09:28:52 2008 +0200

    x86 mpparse: build fix
    
    fix this build bug:
    
     drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_enable':
     drivers/acpi/pci_irq.c:574: error: implicit declaration of function 'mp_config_acpi_gsi'
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/asm-x86/acpi.h b/include/asm-x86/acpi.h
index 14411c9de46f..73ce5b32443f 100644
--- a/include/asm-x86/acpi.h
+++ b/include/asm-x86/acpi.h
@@ -28,6 +28,7 @@
 #include <asm/numa.h>
 #include <asm/processor.h>
 #include <asm/mmu.h>
+#include <asm/mpspec.h>
 
 #define COMPILER_DEPENDENT_INT64   long long
 #define COMPILER_DEPENDENT_UINT64  unsigned long long

commit 3d1ba1da2b4ff4ace7801e99fb9a3095b182d847
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Jun 2 13:50:10 2008 +0200

    x86: fix nmi.c build bug
    
    apic.h needs to be included for the apic_write_around() definition.

diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c
index bf143f191fb1..cbd4fa3c475b 100644
--- a/arch/x86/kernel/nmi.c
+++ b/arch/x86/kernel/nmi.c
@@ -11,6 +11,8 @@
  *  Mikael Pettersson	: PM converted to driver model. Disable/enable API.
  */
 
+#include <asm/apic.h>
+
 #include <linux/nmi.h>
 #include <linux/mm.h>
 #include <linux/delay.h>

commit 15ce60056b24a65b65e28de973a9fd8ac0750a2f
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Jun 2 13:20:11 2008 +0200

    xen: export get_phys_to_machine
    
    -tip testing found the following xen-console symbols trouble:
    
      ERROR: "get_phys_to_machine" [drivers/video/xen-fbfront.ko] undefined!
      ERROR: "get_phys_to_machine" [drivers/net/xen-netfront.ko] undefined!
      ERROR: "get_phys_to_machine" [drivers/input/xen-kbdfront.ko] undefined!
    
    with:
    
      http://redhat.com/~mingo/misc/config-Mon_Jun__2_12_25_13_CEST_2008.bad

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index eef3b5c6e2fe..17f374eb1faa 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -136,6 +136,7 @@ unsigned long get_phys_to_machine(unsigned long pfn)
 	idx = p2m_index(pfn);
 	return p2m_top[topidx][idx];
 }
+EXPORT_SYMBOL_GPL(get_phys_to_machine);
 
 static void alloc_p2m(unsigned long **pp, unsigned long *mfnp)
 {

commit 1a5726528a70bb239bdd149aef7f2155cd2b1699
Author: Ingo Molnar <mingo@elte.hu>
Date:   Mon Jun 2 12:21:36 2008 +0200

    fix build bug in "x86: add PCI extended config space access for AMD Barcelona"

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 99221f9834e4..656b40aed647 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -4,6 +4,7 @@
 #include <asm/io.h>
 #include <asm/processor.h>
 #include <asm/apic.h>
+#include <asm/mmconfig.h>
 
 #include <mach_apic.h>
 #include "../setup.h"
diff --git a/include/asm-x86/mmconfig.h b/include/asm-x86/mmconfig.h
index 46d6bb135df4..691798fbee10 100644
--- a/include/asm-x86/mmconfig.h
+++ b/include/asm-x86/mmconfig.h
@@ -9,6 +9,10 @@ static inline void fam10h_check_enable_mmcfg(void) { }
 static inline void check_enable_amd_mmconf_dmi(void) { }
 #endif
 
+#if defined(CONFIG_SMP) && defined(CONFIG_X86_64)
 extern void __cpuinit amd_enable_pci_ext_cfg(struct cpuinfo_x86 *c);
+#else
+static inline void amd_enable_pci_ext_cfg(struct cpuinfo_x86 *c) { }
+#endif
 
 #endif