From: Heiher <r@xxxxxx> Signed-off-by: Heiher <r@xxxxxx> --- arch/mips/kernel/genex.S | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index 37b9383eacd3..9e0857fbe281 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S @@ -354,6 +354,17 @@ NESTED(ejtag_debug_handler, PT_SIZE, sp) sll k0, k0, 30 # Check for SDBBP. bgez k0, ejtag_return +#ifdef CONFIG_SMP + PTR_LA k0, ejtag_debug_buffer +1: sync + ll k0, LONGSIZE(k0) + bnez k0, 1b + PTR_LA k0, ejtag_debug_buffer + sc k0, LONGSIZE(k0) + beqz k0, 1b + sync +#endif + PTR_LA k0, ejtag_debug_buffer LONG_S k1, 0(k0) SAVE_ALL @@ -363,6 +374,11 @@ NESTED(ejtag_debug_handler, PT_SIZE, sp) PTR_LA k0, ejtag_debug_buffer LONG_L k1, 0(k0) +#ifdef CONFIG_SMP + sw zero, LONGSIZE(k0) + sync +#endif + ejtag_return: MFC0 k0, CP0_DESAVE .set mips32 @@ -377,6 +393,9 @@ ejtag_return: .data EXPORT(ejtag_debug_buffer) .fill LONGSIZE +#ifdef CONFIG_SMP + .fill LONGSIZE +#endif .previous __INIT -- 2.16.3