X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fmips%2Fkernel%2Fgdb-low.S;fp=arch%2Fmips%2Fkernel%2Fgdb-low.S;h=83b8986f94011b0113d7d686535461c8bcd76275;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=2c446063636aeda90de92e07d44bbafd521255f2;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/arch/mips/kernel/gdb-low.S b/arch/mips/kernel/gdb-low.S index 2c4460636..83b8986f9 100644 --- a/arch/mips/kernel/gdb-low.S +++ b/arch/mips/kernel/gdb-low.S @@ -3,11 +3,11 @@ * * Copyright (C) 1995 Andreas Busse */ +#include #include #include #include -#include #include #include #include @@ -41,7 +41,7 @@ */ .align 5 NESTED(trap_low, GDB_FR_SIZE, sp) - .set noat + .set noat .set noreorder mfc0 k0, CP0_STATUS @@ -54,11 +54,9 @@ */ mfc0 k0, CP0_CAUSE andi k0, k0, 0x7c -#ifdef CONFIG_64BIT - dsll k0, k0, 1 -#endif - PTR_L k1, saved_vectors(k0) - jr k1 + add k1, k1, k0 + PTR_L k0, saved_vectors(k1) + jr k0 nop 1: move k0, sp @@ -121,7 +119,6 @@ LONG_S $31, GDB_FR_REG31(sp) CLI /* disable interrupts */ - TRACE_IRQS_OFF /* * Followed by the floating point registers @@ -286,33 +283,11 @@ */ 3: -#ifdef CONFIG_MIPS_MT_SMTC - /* Read-modify write of Status must be atomic */ - mfc0 t2, CP0_TCSTATUS - ori t1, t2, TCSTATUS_IXMT - mtc0 t1, CP0_TCSTATUS - andi t2, t2, TCSTATUS_IXMT - _ehb - DMT 9 # dmt t1 - jal mips_ihb - nop -#endif /* CONFIG_MIPS_MT_SMTC */ mfc0 t0, CP0_STATUS ori t0, 0x1f xori t0, 0x1f mtc0 t0, CP0_STATUS -#ifdef CONFIG_MIPS_MT_SMTC - andi t1, t1, VPECONTROL_TE - beqz t1, 9f - nop - EMT # emt -9: - mfc0 t1, CP0_TCSTATUS - xori t1, t1, TCSTATUS_IXMT - or t1, t1, t2 - mtc0 t1, CP0_TCSTATUS - _ehb -#endif /* CONFIG_MIPS_MT_SMTC */ + LONG_L v0, GDB_FR_STATUS(sp) LONG_L v1, GDB_FR_EPC(sp) mtc0 v0, CP0_STATUS