--- orig/arch/i386/kernel/pci-pc.c 2003-03-21 03:46:41.000000000 -0700 +++ linux-2.4.20/arch/i386/kernel/pci-pc.c 2003-03-21 03:46:41.000000000 -0700 @@ -1298,6 +1298,16 @@ mask = 0x3f; /* clear only bits 6 and 7; clearing bit 5 causes screen corruption on the KL133/KM133 */ } +#if CONFIG_VIA_NORTHBRIDGE_FIXUP + mask = 0x3f; +#else + if (d->device == PCI_DEVICE_ID_VIA_8363_0 && + (revision == VIA_8363_KL133_REVISION_ID || + revision == VIA_8363_KM133_REVISION_ID)) { + mask = 0x3f; /* clear only bits 6 and 7; clearing bit 5 + causes screen corruption on the KL133/KM133 */ + } +#endif pci_read_config_byte(d, where, &v); if (v & ~mask) { --- orig/arch/i386/config.in 2003-03-21 03:46:41.000000000 -0700 +++ linux-2.4.20/arch/i386/config.in 2003-03-21 03:46:41.000000000 -0700 @@ -201,6 +201,8 @@ tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR tristate '/dev/cpu/*/cpuid - CPU information support' CONFIG_X86_CPUID +bool 'Enable VIA KL133/KM133 Northbridge PCI workaround' CONFIG_VIA_NORTHBRIDGE_FIXUP + choice 'High Memory Support' \ "off CONFIG_NOHIGHMEM \ 4GB CONFIG_HIGHMEM4G \