lkml.org 
[lkml]   [2003]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
Subject[PATCH 2.5.70] NatSemi Geode out-of-order store enables
Hello,

This is a patch to enable oostore feature of geode.
Most geode specific code already merged, but it need
a definition of CONFIG_OOSTORE to speedup geode.

in arch/i386/kernel/cpu/cyrix.c:
static void __init set_cx86_reorder(void)
{
#ifdef CONFIG_OOSTORE
u8 ccr3;

printk(KERN_INFO "Enable Memory access reorder on Cyrix/NSC processor.\n");
ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */

/* Load/Store Serialize to mem access disable (=reorder it) */
setCx86(CX86_PCR0, getCx86(CX86_PCR0) & ~0x80);
#ifdef CONFIG_NOHIGHMEM
/* set load/store serialize from 1GB to 4GB */
ccr3 |= 0xe0;
#endif
setCx86(CX86_CCR3, ccr3);
#endif
}

To enable this following Kconfig patch might be good.
If user configure for 386 or 586, geode oostore is only disabled.
If configure for geode, an oostore feature is enabled and he/she will get more speed.


--- linux.o/arch/i386/Kconfig 2003-05-29 00:56:37.000000000 +0900
+++ linux/arch/i386/Kconfig 2003-05-29 19:42:32.000000000 +0900
@@ -284,6 +284,13 @@
of SSE and tells gcc to treat the CPU as a 686.
Note, this kernel will not boot on older (pre model 9) C3s.

+config MGEODE
+ bool "MediaGX/Geode"
+ help
+ Select this for a Cyrix MediaGX/GXM or NatSemi Geode GXM/GXLV/GX1
+ chip. Linux and GCC treat this chip as a 586MMX with some
+ extended instructions and work arounds.
+
endchoice

config X86_GENERIC
@@ -310,7 +317,7 @@
int
default "7" if MPENTIUM4 || X86_GENERIC
default "4" if MELAN || M486 || M386
- default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
+ default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE
default "6" if MK7 || MK8

config RWSEM_GENERIC_SPINLOCK
@@ -355,7 +362,7 @@

config X86_ALIGNMENT_16
bool
- depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
+ depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODE
default y

config X86_GOOD_APIC
@@ -380,7 +387,7 @@

config X86_OOSTORE
bool
- depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6
+ depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MGEODE
default y

config HUGETLB_PAGE
@@ -489,7 +496,7 @@

config X86_TSC
bool
- depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
+ depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODE) && !X86_NUMAQ
default y

config X86_MCE
--- linux.o/include/asm-i386/module.h 2003-03-25 07:00:02.000000000 +0900
+++ linux/include/asm-i386/module.h 2003-05-29 19:45:06.000000000 +0900
@@ -48,6 +48,8 @@
#define MODULE_PROC_FAMILY "CYRIXIII "
#elif CONFIG_MVIAC3_2
#define MODULE_PROC_FAMILY "VIAC3-2 "
+#elif CONFIG_MGEODE
+#define MODULE_PROC_FAMILY "GEODE "
#else
#error unknown processor family
#endif
--
Hiroshi Miura --- http://www.da-cha.org/
NTTDATA Corp. Marketing & Business Strategy Planning Dept. --- miurahr@nttdata.co.jp
Key fingerprint = 9117 9407 5684 FBF1 4063 15B4 401D D077 04AB 8617
-- My hacking life is happy as the day is long

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:36    [W:0.225 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site