diff -Nur linux-2.6.11/arch/i386/Kconfig linux-2.6.11_geode/arch/i386/Kconfig --- linux-2.6.11/arch/i386/Kconfig Wed Mar 2 08:37:49 2005 +++ linux-2.6.11_geode/arch/i386/Kconfig Wed Mar 2 12:22:43 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 @@ -379,7 +387,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 @@ -409,7 +417,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 @@ -434,7 +442,7 @@ config X86_OOSTORE bool - depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR + depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MGEODE) && MTRR default y config HPET_TIMER @@ -570,7 +578,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.11/arch/i386/Makefile linux-2.6.11_geode/arch/i386/Makefile --- linux-2.6.11/arch/i386/Makefile Wed Mar 2 08:37:58 2005 +++ linux-2.6.11_geode/arch/i386/Makefile Wed Mar 2 12:22:43 2005 @@ -52,6 +52,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 # GCC_VERSION := $(call cc-version) diff -Nur linux-2.6.11/drivers/pci/probe.c linux-2.6.11_geode/drivers/pci/probe.c --- linux-2.6.11/drivers/pci/probe.c Wed Mar 2 08:38:13 2005 +++ linux-2.6.11_geode/drivers/pci/probe.c Wed Mar 2 12:22:43 2005 @@ -817,8 +817,11 @@ DBG("Scanning bus %02x\n", bus->number); /* Go find them, Rover! */ - for (devfn = 0; devfn < 0x100; devfn += 8) + for (devfn = 0; devfn < 0x100; devfn += 8) { pci_scan_slot(bus, devfn); + printk("."); + } + printk("\n"); /* * After performing arch-dependent fixup of the bus, look behind diff -Nur linux-2.6.11/include/asm-i386/module.h linux-2.6.11_geode/include/asm-i386/module.h --- linux-2.6.11/include/asm-i386/module.h Wed Mar 2 08:37:48 2005 +++ linux-2.6.11_geode/include/asm-i386/module.h Wed Mar 2 12:22:43 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