diff -Naur linux-2.4.27.orrig/arch/i386/config.in linux-2.4.27/arch/i386/config.in --- linux-2.4.27.orrig/arch/i386/config.in 2004-02-18 13:36:30.000000000 +0000 +++ linux-2.4.27/arch/i386/config.in 2004-08-16 21:31:26.000000000 +0000 @@ -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 # @@ -163,6 +164,14 @@ 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 define_bool CONFIG_X86_HAS_TSC y diff -Naur linux-2.4.27.orrig/drivers/pci/pci.c linux-2.4.27/drivers/pci/pci.c --- linux-2.4.27.orrig/drivers/pci/pci.c 2004-08-07 23:26:05.000000000 +0000 +++ linux-2.4.27/drivers/pci/pci.c 2004-08-16 21:31:28.000000000 +0000 @@ -1477,6 +1477,10 @@ for (func = 0; func < 8; func++, temp->devfn++) { if (pci_read_config_byte(temp, PCI_HEADER_TYPE, &hdr_type)) continue; +#ifdef CONFIG_MGEODE + if (hdr_type & 0x7f > PCI_HEADER_TYPE_CARDBUS) + continue; +#endif temp->hdr_type = hdr_type & 0x7f; dev = pci_scan_device(temp);