aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/kgdb_32.c
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2016-04-22 19:41:03 +0200
committerDavid S. Miller <davem@davemloft.net>2016-05-20 17:55:41 -0700
commitd097efa95059e6a36a365add3deaf43fcafc4067 (patch)
treebdefeb8348380a1b83d347c24b4b0a49492c8489 /arch/sparc/kernel/kgdb_32.c
parentMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs (diff)
downloadlinux-dev-d097efa95059e6a36a365add3deaf43fcafc4067.tar.xz
linux-dev-d097efa95059e6a36a365add3deaf43fcafc4067.zip
sparc32: drop hardcoding trap_level in kgdb_trap
Fix this so we pass the trap_level from the actual trap code like we do in sparc64. Add use on ENTRY(), ENDPROC() in the assembler function too. This fixes a bug where the hardcoded value for trap_level was the sparc64 value. As the generic code does not use the trap_level argument (for sparc32) - this patch does not have any functional impact. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/kgdb_32.c')
-rw-r--r--arch/sparc/kernel/kgdb_32.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc/kernel/kgdb_32.c b/arch/sparc/kernel/kgdb_32.c
index dcf210811af4..5d0a323878c9 100644
--- a/arch/sparc/kernel/kgdb_32.c
+++ b/arch/sparc/kernel/kgdb_32.c
@@ -135,19 +135,19 @@ int kgdb_arch_handle_exception(int e_vector, int signo, int err_code,
extern void do_hw_interrupt(struct pt_regs *regs, unsigned long type);
-asmlinkage void kgdb_trap(struct pt_regs *regs)
+asmlinkage void kgdb_trap(unsigned long trap_level, struct pt_regs *regs)
{
unsigned long flags;
if (user_mode(regs)) {
- do_hw_interrupt(regs, 0xfd);
+ do_hw_interrupt(regs, trap_level);
return;
}
flushw_all();
local_irq_save(flags);
- kgdb_handle_exception(0x172, SIGTRAP, 0, regs);
+ kgdb_handle_exception(trap_level, SIGTRAP, 0, regs);
local_irq_restore(flags);
}