LWN.net Logo

Advertisement

E-Commerce & credit card processing - the Open Source way!

Advertise here

proof of concept: make arch/i386/kernel/cpu/Makefile CPU specific

From:  Adrian Bunk <bunk@fs.tum.de>
To:  Nick Piggin <piggin@cyberone.com.au>
Subject:  [3/4] proof of concept: make arch/i386/kernel/cpu/Makefile CPU specific
Date:  Sat, 10 Jan 2004 01:57:54 +0100
Cc:  Matt Mackall <mpm@selenic.com>, linux-kernel <linux-kernel@vger.kernel.org>

- make arch/i386/kernel/cpu/Makefile CPU specific

diffstat output:

 arch/i386/kernel/cpu/Makefile |   34 +++++++++++++++++++++++++---------
 arch/i386/kernel/cpu/common.c |   27 +++++++++++++++++++++++++++
 arch/i386/mm/init.c           |    6 +++++-
 3 files changed, 57 insertions(+), 10 deletions(-)


--- linux-2.6.0-test5-mm4/arch/i386/kernel/cpu/Makefile.old	2003-09-25 14:35:17.000000000 +0200
+++ linux-2.6.0-test5-mm4/arch/i386/kernel/cpu/Makefile	2003-09-25 14:35:20.000000000 +0200
@@ -2,16 +2,32 @@
 # Makefile for x86-compatible CPU details and quirks
 #
 
-obj-y	:=	common.o proc.o
+obj-y			:=	common.o proc.o
+
+
+obj-$(CONFIG_CPU_486)		+=	amd.o
+obj-$(CONFIG_CPU_586)		+=	amd.o
+obj-$(CONFIG_CPU_K6)		+=	amd.o
+obj-$(CONFIG_CPU_K7)		+=	amd.o
+obj-$(CONFIG_CPU_K8)		+=	amd.o
+
+obj-$(CONFIG_CPU_WINCHIP)	+=	centaur.o
+obj-$(CONFIG_CPU_CYRIXIII)	+=	centaur.o
+obj-$(CONFIG_CPU_VIAC3_2)	+=	centaur.o
+
+obj-$(CONFIG_CPU_486)		+=	cyrix.o
+obj-$(CONFIG_CPU_586)		+=	cyrix.o
+
+obj-$(CONFIG_CPU_INTEL)		+=	intel.o
+
+obj-$(CONFIG_CPU_586)		+=	nexgen.o
+
+obj-$(CONFIG_CPU_586)		+=	rise.o
+
+obj-$(CONFIG_CPU_CRUSOE)	+=	transmeta.o
+
+obj-$(CONFIG_CPU_486)		+=	umc.o
 
-obj-y	+=	amd.o
-obj-y	+=	cyrix.o
-obj-y	+=	centaur.o
-obj-y	+=	transmeta.o
-obj-y	+=	intel.o
-obj-y	+=	rise.o
-obj-y	+=	nexgen.o
-obj-y	+=	umc.o
 
 obj-$(CONFIG_X86_MCE)	+=	mcheck/
 
--- linux-2.6.0-test5-mm4/arch/i386/kernel/cpu/common.c.old	2003-09-25 14:35:17.000000000 +0200
+++ linux-2.6.0-test5-mm4/arch/i386/kernel/cpu/common.c	2003-09-25 14:35:20.000000000 +0200
@@ -434,15 +434,42 @@
 
 void __init early_cpu_init(void)
 {
+
+#if defined(CONFIG_CPU_INTEL)
 	intel_cpu_init();
+#endif
+
+#if defined(CONFIG_CPU_486) || defined(CONFIG_CPU_586)
 	cyrix_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_486)
 	nsc_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_486) || defined(CONFIG_CPU_586) || defined(CONFIG_CPU_K6) || defined(CONFIG_CPU_K7) || defined(CONFIG_CPU_K8)
 	amd_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_WINCHIP) || defined(CONFIG_CPU_CYRIXIII) || defined(CONFIG_CPU_VIAC3_2)
 	centaur_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_CRUSOE)
 	transmeta_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_586)
 	rise_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_586)
 	nexgen_init_cpu();
+#endif
+
+#if defined(CONFIG_CPU_486)
 	umc_init_cpu();
+#endif
 
 #ifdef CONFIG_DEBUG_PAGEALLOC
 	/* pse is not compatible with on-the-fly unmapping,
--- linux-2.6.0-test5-mm4/arch/i386/mm/init.c.old	2003-09-25 14:35:17.000000000 +0200
+++ linux-2.6.0-test5-mm4/arch/i386/mm/init.c	2003-09-25 14:35:20.000000000 +0200
@@ -423,8 +423,12 @@
 	if (!mem_map)
 		BUG();
 #endif
-	
+
+#ifdef CONFIG_CPU_686
 	bad_ppro = ppro_with_ram_bug();
+#else
+	bad_ppro = 0;
+#endif
 
 #ifdef CONFIG_HIGHMEM
 	/* check that fixmap and pkmap do not overlap */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds