fixes timer issues
[openwrt/svn-archive/archive.git] / target / linux / ifxmips / patches / 100-board.patch
1 Index: linux-2.6.25.1/arch/mips/Kconfig
2 ===================================================================
3 --- linux-2.6.25.1.orig/arch/mips/Kconfig 2008-05-10 01:03:55.000000000 +0100
4 +++ linux-2.6.25.1/arch/mips/Kconfig 2008-05-10 01:09:11.000000000 +0100
5 @@ -78,6 +78,19 @@
6 select SYS_SUPPORTS_LITTLE_ENDIAN
7 select GENERIC_HARDIRQS_NO__DO_IRQ
8
9 +config IFXMIPS
10 + bool "IFXMips support"
11 + select DMA_NONCOHERENT
12 + select IRQ_CPU
13 + select CEVT_R4K
14 + select CSRC_R4K
15 + select SYS_HAS_CPU_MIPS32_R1
16 + select HAVE_STD_PC_SERIAL_PORT
17 + select SYS_SUPPORTS_BIG_ENDIAN
18 + select SYS_SUPPORTS_32BIT_KERNEL
19 + select SYS_HAS_EARLY_PRINTK
20 + select HW_HAS_PCI
21 +
22 config MACH_DECSTATION
23 bool "DECstations"
24 select BOOT_ELF32
25 Index: linux-2.6.25.1/arch/mips/Makefile
26 ===================================================================
27 --- linux-2.6.25.1.orig/arch/mips/Makefile 2008-05-10 01:04:02.000000000 +0100
28 +++ linux-2.6.25.1/arch/mips/Makefile 2008-05-10 01:04:03.000000000 +0100
29 @@ -282,6 +282,13 @@
30 cflags-$(CONFIG_MIPS_COBALT) += -Iinclude/asm-mips/mach-cobalt
31 load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
32
33 +#
34 +# Infineon IFXMIPS
35 +#
36 +core-$(CONFIG_IFXMIPS) += arch/mips/ifxmips/
37 +cflags-$(CONFIG_IFXMIPS) += -Iinclude/asm-mips/mach-ifxmips
38 +load-$(CONFIG_IFXMIPS) += 0xffffffff80002000
39 +
40 #
41 # DECstation family
42 #
43 Index: linux-2.6.25.1/include/asm-mips/bootinfo.h
44 ===================================================================
45 --- linux-2.6.25.1.orig/include/asm-mips/bootinfo.h 2008-05-10 01:03:55.000000000 +0100
46 +++ linux-2.6.25.1/include/asm-mips/bootinfo.h 2008-05-10 01:04:03.000000000 +0100
47 @@ -94,6 +94,12 @@
48 #define MACH_MSP7120_FPGA 5 /* PMC-Sierra MSP7120 Emulation */
49 #define MACH_MSP_OTHER 255 /* PMC-Sierra unknown board type */
50
51 +/*
52 + * Valid machtype for group IFXMIPS
53 + */
54 +#define MACH_GROUP_IFXMIPS 29
55 +#define MACH_INFINEON_IFXMIPS 0
56 +
57 #define CL_SIZE COMMAND_LINE_SIZE
58
59 extern char *system_type;
60 Index: linux-2.6.25.1/arch/mips/kernel/traps.c
61 ===================================================================
62 --- linux-2.6.25.1.orig/arch/mips/kernel/traps.c 2008-05-10 01:09:32.000000000 +0100
63 +++ linux-2.6.25.1/arch/mips/kernel/traps.c 2008-05-10 01:10:07.000000000 +0100
64 @@ -1379,6 +1379,7 @@
65 */
66 if (cpu_has_mips_r2) {
67 cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
68 + cp0_compare_irq = CP0_LEGACY_COMPARE_IRQ;
69 cp0_perfcount_irq = (read_c0_intctl() >> 26) & 7;
70 if (cp0_perfcount_irq == cp0_compare_irq)
71 cp0_perfcount_irq = -1;