It seems some necessary codes for non-r4k CPUs were lost by this change.
> CVSROOT: /home/cvs
> Module name: linux
> Changes by: ralf@ftp.linux-mips.org 02/09/29 03:49:20
>
> Modified files:
> arch/mips/kernel: Tag: linux_2_4 traps.c
> arch/mips/mm : Tag: linux_2_4 c-sb1.c tlb-sb1.c
> arch/mips64/kernel: Tag: linux_2_4 traps.c
> arch/mips64/mm : Tag: linux_2_4 Makefile c-sb1.c loadmmu.c
> tlb-r4k.c tlb-sb1.c tlbex-r4k.S
> Added files:
> arch/mips64/mm : Tag: linux_2_4 c-andes.c c-r4k.c pg-andes.c
> pg-r4k.c tlb-andes.c
> Removed files:
> arch/mips64/mm : Tag: linux_2_4 andes.c r4xx0.c
>
> Log message:
> Reorganize arch/mips64/mm along the line of it's 32-bit equivalent.
This is a patch to revert the change.
diff -ur linux-mips-cvs/arch/mips/kernel/traps.c
linux.new/arch/mips/kernel/traps.c
--- linux-mips-cvs/arch/mips/kernel/traps.c Sun Sep 29 19:45:07 2002
+++ linux.new/arch/mips/kernel/traps.c Mon Sep 30 13:41:23 2002
@@ -1015,6 +1015,30 @@
memcpy((void *)(KSEG0 + 0x180), &except_vec3_r4000,
0x80);
}
+ } else switch (mips_cpu.cputype) {
+ case CPU_SB1:
+ /*
+ * XXX - This should be folded in to the "cleaner" handling,
+ * above
+ */
+ memcpy((void *)(KSEG0 + 0x180), &except_vec3_r4000, 0x80);
+ break;
+ case CPU_R6000:
+ case CPU_R6000A:
+ case CPU_R2000:
+ case CPU_R3000:
+ case CPU_R3000A:
+ case CPU_R3041:
+ case CPU_R3051:
+ case CPU_R3052:
+ case CPU_R3081:
+ case CPU_R3081E:
+ case CPU_TX3912:
+ case CPU_TX3922:
+ case CPU_TX3927:
+ case CPU_TX39XX:
+ memcpy((void *)(KSEG0 + 0x80), &except_vec3_generic, 0x80);
+ break;
}
if (mips_cpu.cputype == CPU_R6000 || mips_cpu.cputype == CPU_R6000A) {
---
Atsushi Nemoto
|