diff options
Diffstat (limited to 'arch/mips64/kernel')
-rw-r--r-- | arch/mips64/kernel/head.S | 7 | ||||
-rw-r--r-- | arch/mips64/kernel/traps.c | 1 |
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) |