summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r--arch/mips64/kernel/head.S7
-rw-r--r--arch/mips64/kernel/traps.c1
2 files changed, 6 insertions, 2 deletions
diff --git a/arch/mips64/kernel/head.S b/arch/mips64/kernel/head.S
index 79f409c1b..8b43bb074 100644
--- a/arch/mips64/kernel/head.S
+++ b/arch/mips64/kernel/head.S
@@ -50,7 +50,12 @@ NESTED(kernel_entry, 16, sp) # kernel entry point
CLI # disable interrupts
mfc0 t0, CP0_STATUS
- li t1, ~(ST0_CU1|ST0_CU2|ST0_CU3)
+ /*
+ * On IP27, I am seeing the TS bit set when the
+ * kernel is loaded. Maybe because the kernel is
+ * in ckseg0 and not xkphys? Clear it anyway ...
+ */
+ li t1, ~(ST0_TS|ST0_CU1|ST0_CU2|ST0_CU3)
and t0, t1
or t0, (ST0_CU0|ST0_KX|ST0_SX|ST0_FR) # Bogosity: cu0 indicates kernel
mtc0 t0, CP0_STATUS # thread in copy_thread.
diff --git a/arch/mips64/kernel/traps.c b/arch/mips64/kernel/traps.c
index 5fe51a31c..0b41f7b9d 100644
--- a/arch/mips64/kernel/traps.c
+++ b/arch/mips64/kernel/traps.c
@@ -446,7 +446,6 @@ static inline void mips4_setup(void)
mips4_available = 1;
set_cp0_status(ST0_XX, ST0_XX);
}
- mips4_available = 0;
}
static inline void go_64(void)