Index: linux-2.6.25.4/arch/mips/Kconfig =================================================================== --- linux-2.6.25.4.orig/arch/mips/Kconfig +++ linux-2.6.25.4/arch/mips/Kconfig @@ -78,6 +78,21 @@ config MIPS_COBALT 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 + select GENERIC_GPIO + select SWAP_IO_SPACE + config MACH_DECSTATION bool "DECstations" select BOOT_ELF32 @@ -693,6 +706,7 @@ source "arch/mips/sibyte/Kconfig" 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.4/arch/mips/Makefile =================================================================== --- linux-2.6.25.4.orig/arch/mips/Makefile +++ linux-2.6.25.4/arch/mips/Makefile @@ -282,6 +282,13 @@ core-$(CONFIG_MIPS_COBALT) += arch/mips/ 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.4/include/asm-mips/bootinfo.h =================================================================== --- linux-2.6.25.4.orig/include/asm-mips/bootinfo.h +++ linux-2.6.25.4/include/asm-mips/bootinfo.h @@ -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.4/arch/mips/kernel/traps.c =================================================================== --- linux-2.6.25.4.orig/arch/mips/kernel/traps.c +++ linux-2.6.25.4/arch/mips/kernel/traps.c @@ -1379,6 +1379,7 @@ void __cpuinit per_cpu_trap_init(void) */ 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;