diff options
Diffstat (limited to 'openwrt/target/linux/linux-2.4/patches/soekris/001-mgeode-cpu.patch')
-rw-r--r-- | openwrt/target/linux/linux-2.4/patches/soekris/001-mgeode-cpu.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/openwrt/target/linux/linux-2.4/patches/soekris/001-mgeode-cpu.patch b/openwrt/target/linux/linux-2.4/patches/soekris/001-mgeode-cpu.patch new file mode 100644 index 000000000..662d4f263 --- /dev/null +++ b/openwrt/target/linux/linux-2.4/patches/soekris/001-mgeode-cpu.patch @@ -0,0 +1,40 @@ +diff -Nur linux-2.4.29/arch/i386/Makefile linux-2.4.29_geode/arch/i386/Makefile +--- linux-2.4.29/arch/i386/Makefile Wed Nov 17 12:54:21 2004 ++++ linux-2.4.29_geode/arch/i386/Makefile Tue Feb 15 23:41:54 2005 +@@ -94,6 +94,10 @@ + CFLAGS += $(call check_gcc,-march=c3-2,-march=i686) + endif + ++ifdef CONFIG_MGEODE ++CFLAGS += -march=i586 ++endif ++ + # Disable unit-at-a-time mode, it makes gcc use a lot more stack + # due to the lack of sharing of stacklots. + CFLAGS += $(call check_gcc,-fno-unit-at-a-time,) +diff -Nur linux-2.4.29/arch/i386/config.in linux-2.4.29_geode/arch/i386/config.in +--- linux-2.4.29/arch/i386/config.in Wed Nov 17 12:54:21 2004 ++++ linux-2.4.29_geode/arch/i386/config.in Tue Feb 15 23:41:54 2005 +@@ -42,6 +42,7 @@ + Winchip-C6 CONFIG_MWINCHIPC6 \ + Winchip-2 CONFIG_MWINCHIP2 \ + Winchip-2A/Winchip-3 CONFIG_MWINCHIP3D \ ++ MediaGX/Geode CONFIG_MGEODE \ + CyrixIII/VIA-C3 CONFIG_MCYRIXIII \ + VIA-C3-2 CONFIG_MVIAC3_2" Pentium-Pro + # +@@ -162,6 +163,14 @@ + define_bool CONFIG_X86_ALIGNMENT_16 y + define_bool CONFIG_X86_USE_PPRO_CHECKSUM y + define_bool CONFIG_X86_F00F_WORKS_OK y ++fi ++if [ "$CONFIG_MGEODE" = "y" ]; then ++ define_int CONFIG_X86_L1_CACHE_SHIFT 5 ++ define_bool CONFIG_X86_USE_STRING_486 y ++ define_bool CONFIG_X86_ALIGNMENT_16 y ++ define_bool CONFIG_X86_TSC y ++ define_bool CONFIG_X86_PPRO_FENCE y ++ define_bool CONFIG_X86_OOSTORE y + fi + if [ "$CONFIG_MCRUSOE" = "y" ]; then + define_int CONFIG_X86_L1_CACHE_SHIFT 5 |