All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Dobson <colpatch@us.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mbligh@aracnet.com, john stultz <johnstul@us.ibm.com>,
	Andrew Morton <akpm@digeo.com>, Greg KH <greg@kroah.com>
Subject: [PATCH] Fix X86_GENERICARCH & NUMA compile error (1/2)
Date: Fri, 19 Dec 2003 12:11:50 -0800	[thread overview]
Message-ID: <3FE35B86.6090901@us.ibm.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 726 bytes --]

Trying to build a kernel with both CONFIG_X86_GENERICARCH and 
CONFIG_NUMA on results in a compile error.  This patch fixes that build 
problem by adding a config option for NUMA on Summit which is used to 
correctly conditionally compile arch/i386/kernel/summit.c and properly 
ifdef the function calls used in generic code.  Please apply.

Running make -j24 bzImage
arch/i386/mach-generic/built-in.o: In function `mps_oem_check':
arch/i386/mach-generic/built-in.o(.text+0x3ce): undefined reference to 
`setup_summit'
arch/i386/mach-generic/built-in.o: In function `acpi_madt_oem_check':
arch/i386/mach-generic/built-in.o(.text+0x468): undefined reference to 
`setup_summit'
make: *** [.tmp_vmlinux1] Error 1

Cheers!

-Matt

[-- Attachment #2: 01-genericarch_fix.patch --]
[-- Type: text/plain, Size: 3460 bytes --]

diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.0-vanilla/arch/i386/Kconfig linux-2.6.0-01/arch/i386/Kconfig
--- linux-2.6.0-vanilla/arch/i386/Kconfig	Wed Dec 17 18:58:16 2003
+++ linux-2.6.0-01/arch/i386/Kconfig	Fri Dec 19 11:35:41 2003
@@ -115,10 +115,15 @@ config ACPI_SRAT
 	default y
 	depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
 
+config X86_SUMMIT_NUMA
+	bool 
+	default y
+	depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
+
 config X86_CYCLONE_TIMER
-       bool 
-       default y
-       depends on X86_SUMMIT || X86_GENERICARCH
+	bool 
+	default y
+	depends on X86_SUMMIT || X86_GENERICARCH
 
 config ES7000_CLUSTERED_APIC
 	bool
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.0-vanilla/arch/i386/kernel/Makefile linux-2.6.0-01/arch/i386/kernel/Makefile
--- linux-2.6.0-vanilla/arch/i386/kernel/Makefile	Wed Dec 17 18:58:16 2003
+++ linux-2.6.0-01/arch/i386/kernel/Makefile	Fri Dec 19 11:35:41 2003
@@ -24,7 +24,7 @@ obj-$(CONFIG_X86_MPPARSE)	+= mpparse.o
 obj-$(CONFIG_X86_LOCAL_APIC)	+= apic.o nmi.o
 obj-$(CONFIG_X86_IO_APIC)	+= io_apic.o
 obj-$(CONFIG_X86_NUMAQ)		+= numaq.o
-obj-$(CONFIG_X86_SUMMIT)	+= summit.o
+obj-$(CONFIG_X86_SUMMIT_NUMA)	+= summit.o
 obj-$(CONFIG_EDD)             	+= edd.o
 obj-$(CONFIG_MODULES)		+= module.o
 obj-y				+= sysenter.o vsyscall.o
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.0-vanilla/arch/i386/kernel/summit.c linux-2.6.0-01/arch/i386/kernel/summit.c
--- linux-2.6.0-vanilla/arch/i386/kernel/summit.c	Wed Dec 17 18:58:49 2003
+++ linux-2.6.0-01/arch/i386/kernel/summit.c	Fri Dec 19 11:36:03 2003
@@ -29,9 +29,8 @@
 #include <linux/mm.h>
 #include <linux/init.h>
 #include <asm/io.h>
-#include <mach_mpparse.h>
+#include <asm/mach-summit/mach_mpparse.h>
 
-#ifdef CONFIG_NUMA
 static void __init setup_pci_node_map_for_wpeg(int wpeg_num, struct rio_table_hdr *rth, 
 		struct scal_detail **scal_nodes, struct rio_detail **rio_nodes){
 	int twst_num = 0, node = 0, first_bus = 0;
@@ -169,4 +168,3 @@ void __init setup_summit(void)
 			/* It's a Winnipeg, it's got PCI Busses */
 			setup_pci_node_map_for_wpeg(i, rio_table_hdr, scal_devs, rio_devs);
 }
-#endif /* CONFIG_NUMA */
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.0-vanilla/include/asm-i386/mach-summit/mach_mpparse.h linux-2.6.0-01/include/asm-i386/mach-summit/mach_mpparse.h
--- linux-2.6.0-vanilla/include/asm-i386/mach-summit/mach_mpparse.h	Wed Dec 17 18:58:48 2003
+++ linux-2.6.0-01/include/asm-i386/mach-summit/mach_mpparse.h	Fri Dec 19 11:36:03 2003
@@ -5,11 +5,11 @@
 
 extern int use_cyclone;
 
-#ifdef CONFIG_NUMA
+#ifdef CONFIG_X86_SUMMIT_NUMA
 extern void setup_summit(void);
-#else /* !CONFIG_NUMA */
+#else
 #define setup_summit()	{}
-#endif /* CONFIG_NUMA */
+#endif
 
 static inline void mpc_oem_bus_info(struct mpc_config_bus *m, char *name, 
 				struct mpc_config_translation *translation)
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.0-vanilla/include/asm-i386/mpspec.h linux-2.6.0-01/include/asm-i386/mpspec.h
--- linux-2.6.0-vanilla/include/asm-i386/mpspec.h	Wed Dec 17 18:57:58 2003
+++ linux-2.6.0-01/include/asm-i386/mpspec.h	Fri Dec 19 11:35:41 2003
@@ -27,10 +27,6 @@ extern unsigned long mp_lapic_addr;
 extern int pic_mode;
 extern int using_apic_timer;
 
-#ifdef CONFIG_X86_SUMMIT
-extern void setup_summit (void);
-#endif
-
 #ifdef CONFIG_ACPI_BOOT
 extern void mp_register_lapic (u8 id, u8 enabled);
 extern void mp_register_lapic_address (u64 address);

                 reply	other threads:[~2003-12-19 20:16 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3FE35B86.6090901@us.ibm.com \
    --to=colpatch@us.ibm.com \
    --cc=akpm@digeo.com \
    --cc=greg@kroah.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.