Index: linux-2.6.25.1/arch/mips/Kconfig =================================================================== --- linux-2.6.25.1.orig/arch/mips/Kconfig 2008-05-10 01:14:39.000000000 +0100 +++ linux-2.6.25.1/arch/mips/Kconfig 2008-05-10 01:29:54.000000000 +0100 @@ -78,6 +78,19 @@ select SYS_SUPPORTS_LITTLE_ENDIAN select GENERIC_HARDIRQS_NO__DO_IRQ +config IFXMIPS + bool "IFXMips support" + select DMA_NONCOHERENT + select IRQ_CPU + select CEVT_R4K + select CSRC_R4K + select SYS_HAS_CPU_MIPS32_R1 + select HAVE_STD_PC_SERIAL_PORT + select SYS_SUPPORTS_BIG_ENDIAN + select SYS_SUPPORTS_32BIT_KERNEL + select SYS_HAS_EARLY_PRINTK + select HW_HAS_PCI + config MACH_DECSTATION bool "DECstations" select BOOT_ELF32 @@ -693,6 +706,7 @@ source "arch/mips/tx4927/Kconfig" source "arch/mips/tx4938/Kconfig" source "arch/mips/vr41xx/Kconfig" +source "arch/mips/ifxmips/Kconfig" endmenu Index: linux-2.6.25.1/arch/mips/Makefile =================================================================== --- linux-2.6.25.1.orig/arch/mips/Makefile 2008-05-10 01:14:49.000000000 +0100 +++ linux-2.6.25.1/arch/mips/Makefile 2008-05-10 01:14:49.000000000 +0100 @@ -282,6 +282,13 @@ cflags-$(CONFIG_MIPS_COBALT) += -Iinclude/asm-mips/mach-cobalt load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000 +# +# Infineon IFXMIPS +# +core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/ +cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-ifxmips +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000 + # # DECstation family # Index: linux-2.6.25.1/include/asm-mips/bootinfo.h =================================================================== --- linux-2.6.25.1.orig/include/asm-mips/bootinfo.h 2008-05-10 01:14:39.000000000 +0100 +++ linux-2.6.25.1/include/asm-mips/bootinfo.h 2008-05-10 01:14:49.000000000 +0100 @@ -94,6 +94,12 @@ #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */ #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */ +/* + * Valid machtype for group IFXMIPS + */ +#define MACH_GROUP_IFXMIPS 29 +#define MACH_INFINEON_IFXMIPS 0 + #define CL_SIZE COMMAND_LINE_SIZE extern char *system_type; Index: linux-2.6.25.1/arch/mips/kernel/traps.c =================================================================== --- linux-2.6.25.1.orig/arch/mips/kernel/traps.c 2008-05-10 01:14:39.000000000 +0100 +++ linux-2.6.25.1/arch/mips/kernel/traps.c 2008-05-10 01:14:49.000000000 +0100 @@ -1379,6 +1379,7 @@ */ if (cpu_has_mips_r2) { cp0_compare_irq = (read_c0_intctl() >> 29) & 7; + cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ; cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7; if (cp0_perfcount_irq == cp0_compare_irq) cp0_perfcount_irq = -1;