public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Support for GEODE CPU's in Kernel 2.6.10.
@ 2005-02-27 22:11 Kianusch Sayah Karadji
  2005-02-28 22:39 ` Henrik Brix Andersen
  2005-03-02 12:53 ` David Vrabel
  0 siblings, 2 replies; 4+ messages in thread
From: Kianusch Sayah Karadji @ 2005-02-27 22:11 UTC (permalink / raw)
  To: davej, hpa; +Cc: linux-kernel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 424 bytes --]

Hi!

This is a small patch for GEODE CPU support in Kernel 2.6.10.

Those CPU's are found mostly in embedded systems ... one of the most 
prominent Hardware using GEODE CPU is probably soekris net4801 
(http://www.soekris.com).

This patch has been on my homepage 
(http://www.sk-tech.net/support/soekris.html) for quite a time - but I've 
been asked several time to have it included in the main kernel.

Regards
   Kianusch

[-- Attachment #2: geode.patch.2.6.10 --]
[-- Type: TEXT/PLAIN, Size: 4108 bytes --]

diff -Nur linux-2.6.10/arch/i386/Kconfig linux-2.6.10_geode/arch/i386/Kconfig
--- linux-2.6.10/arch/i386/Kconfig	Fri Dec 24 22:34:01 2004
+++ linux-2.6.10_geode/arch/i386/Kconfig	Sun Feb 27 22:37:48 2005
@@ -183,6 +183,7 @@
 	  - "Winchip-C6" for original IDT Winchip.
 	  - "Winchip-2" for IDT Winchip 2.
 	  - "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
+	  - "MediaGX/Geode" for Cyrix MediaGX aka Geode.
 	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
 	  - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).
 
@@ -310,6 +311,13 @@
 	  stores for this CPU, which can increase performance of some
 	  operations.
 
+config MGEODE
+	bool "MediaGX/Geode"
+	help
+	  Select this for a Cyrix MediaGX aka Geode chip. Linux and GCC
+          treat this chip as a 586TSC with some extended instructions
+          and alignment reqirements.
+
 config MCYRIXIII
 	bool "CyrixIII/VIA-C3"
 	help
@@ -360,7 +368,7 @@
 	int
 	default "7" if MPENTIUM4 || X86_GENERIC
 	default "4" if X86_ELAN || M486 || M386
-	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
+	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE
 	default "6" if MK7 || MK8 || MPENTIUMM
 
 config RWSEM_GENERIC_SPINLOCK
@@ -375,7 +383,7 @@
 
 config X86_PPRO_FENCE
 	bool
-	depends on M686 || M586MMX || M586TSC || M586 || M486 || M386
+	depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODE
 	default y
 
 config X86_F00F_BUG
@@ -405,7 +413,7 @@
 
 config X86_ALIGNMENT_16
 	bool
-	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
+	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODE
 	default y
 
 config X86_GOOD_APIC
@@ -430,7 +438,7 @@
 
 config X86_OOSTORE
 	bool
-	depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
+	depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MGEODE) && MTRR
 	default y
 
 config HPET_TIMER
@@ -555,7 +563,7 @@
 
 config X86_TSC
 	bool
-	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
+	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODE) && !X86_NUMAQ
 	default y
 
 config X86_MCE
diff -Nur linux-2.6.10/arch/i386/Makefile linux-2.6.10_geode/arch/i386/Makefile
--- linux-2.6.10/arch/i386/Makefile	Fri Dec 24 22:34:31 2004
+++ linux-2.6.10_geode/arch/i386/Makefile	Sun Feb 27 22:53:18 2005
@@ -14,6 +14,8 @@
 # 19990713  Artur Skawina <skawina@geocities.com>
 #           Added '-march' and '-mpreferred-stack-boundary' support
 #
+#           Kianusch Sayah Karadji <kianusch@sk-tech.net>
+#           Added support for GEODE CPU
 
 LDFLAGS		:= -m elf_i386
 OBJCOPYFLAGS	:= -O binary -R .note -R .comment -S
@@ -51,6 +53,9 @@
 
 # AMD Elan support
 cflags-$(CONFIG_X86_ELAN)	+= -march=i486
+
+# MediaGX aka Geode support
+cflags-$(CONFIG_MGEODE)		+= $(call cc-option,-march=pentium-mmx,-march=i586)
 
 # -mregparm=3 works ok on gcc-3.0 and later
 #
diff -Nur linux-2.6.10/include/asm-i386/module.h linux-2.6.10_geode/include/asm-i386/module.h
--- linux-2.6.10/include/asm-i386/module.h	Fri Dec 24 22:34:00 2004
+++ linux-2.6.10_geode/include/asm-i386/module.h	Sun Feb 27 22:34:19 2005
@@ -52,6 +52,8 @@
 #define MODULE_PROC_FAMILY "CYRIXIII "
 #elif defined CONFIG_MVIAC3_2
 #define MODULE_PROC_FAMILY "VIAC3-2 "
+#elif CONFIG_MGEODE
+#define MODULE_PROC_FAMILY "GEODE "
 #else
 #error unknown processor family
 #endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-03-03 22:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-27 22:11 Support for GEODE CPU's in Kernel 2.6.10 Kianusch Sayah Karadji
2005-02-28 22:39 ` Henrik Brix Andersen
2005-03-02 12:53 ` David Vrabel
2005-03-03 22:17   ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox