diff -urN -X tools/dontdiff linux-2.4.13/Documentation/Configure.help linux-2.4.13-rs/Documentation/Configure.help --- linux-2.4.13/Documentation/Configure.help Sun Oct 21 04:17:19 2001 +++ linux-2.4.13-rs/Documentation/Configure.help Tue Nov 6 08:34:17 2001 @@ -3137,6 +3137,7 @@ - "Pentium-4" for the Intel Pentium 4. - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D). - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird). + - "Elan" for the AMD Elan family (Elan SC400/SC410). - "Crusoe" for the Transmeta Crusoe series. - "Winchip-C6" for original IDT Winchip. - "Winchip-2" for IDT Winchip 2. diff -urN -X tools/dontdiff linux-2.4.13/arch/i386/config.in linux-2.4.13-rs/arch/i386/config.in --- linux-2.4.13/arch/i386/config.in Sun Oct 21 04:17:19 2001 +++ linux-2.4.13-rs/arch/i386/config.in Tue Nov 6 08:30:40 2001 @@ -37,6 +37,7 @@ Pentium-4 CONFIG_MPENTIUM4 \ K6/K6-II/K6-III CONFIG_MK6 \ Athlon/Duron/K7 CONFIG_MK7 \ + Elan CONFIG_MELAN \ Crusoe CONFIG_MCRUSOE \ Winchip-C6 CONFIG_MWINCHIPC6 \ Winchip-2 CONFIG_MWINCHIP2 \ @@ -119,6 +120,11 @@ define_bool CONFIG_X86_USE_3DNOW y define_bool CONFIG_X86_PGE y define_bool CONFIG_X86_USE_PPRO_CHECKSUM y +fi +if [ "$CONFIG_MELAN" = "y" ]; then + define_int CONFIG_X86_L1_CACHE_SHIFT 4 + define_bool CONFIG_X86_USE_STRING_486 y + define_bool CONFIG_X86_ALIGNMENT_16 y fi if [ "$CONFIG_MCYRIXIII" = "y" ]; then define_int CONFIG_X86_L1_CACHE_SHIFT 5 diff -urN -X tools/dontdiff linux-2.4.13/arch/i386/kernel/setup.c linux-2.4.13-rs/arch/i386/kernel/setup.c --- linux-2.4.13/arch/i386/kernel/setup.c Mon Oct 15 22:43:24 2001 +++ linux-2.4.13-rs/arch/i386/kernel/setup.c Tue Nov 6 10:57:34 2001 @@ -315,11 +315,11 @@ struct resource standard_io_resources[] = { { "dma1", 0x00, 0x1f, IORESOURCE_BUSY }, - { "pic1", 0x20, 0x3f, IORESOURCE_BUSY }, + { "pic1", 0x20, 0x21, IORESOURCE_BUSY }, { "timer", 0x40, 0x5f, IORESOURCE_BUSY }, { "keyboard", 0x60, 0x6f, IORESOURCE_BUSY }, { "dma page reg", 0x80, 0x8f, IORESOURCE_BUSY }, - { "pic2", 0xa0, 0xbf, IORESOURCE_BUSY }, + { "pic2", 0xa0, 0xa1, IORESOURCE_BUSY }, { "dma2", 0xc0, 0xdf, IORESOURCE_BUSY }, { "fpu", 0xf0, 0xff, IORESOURCE_BUSY } }; diff -urN -X tools/dontdiff linux-2.4.13/include/asm-i386/timex.h linux-2.4.13-rs/include/asm-i386/timex.h --- linux-2.4.13/include/asm-i386/timex.h Wed Oct 24 06:59:05 2001 +++ linux-2.4.13-rs/include/asm-i386/timex.h Tue Nov 6 08:50:06 2001 @@ -9,7 +9,12 @@ #include #include -#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */ +#ifdef CONFIG_MELAN +# define CLOCK_TICK_RATE 1189200 /* AMD Elan has different frequency! */ +#else +# define CLOCK_TICK_RATE 1193180 /* Underlying HZ */ +#endif + #define CLOCK_TICK_FACTOR 20 /* Factor of both 1000000 and CLOCK_TICK_RATE */ #define FINETUNE ((((((long)LATCH * HZ - CLOCK_TICK_RATE) << SHIFT_HZ) * \ (1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \