aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-02-11 14:40:55 +0530
committerVineet Gupta <vgupta@synopsys.com>2013-03-04 17:41:26 +0530
commit98f76360c8f80a8c24fecae9b982d306efa5a982 (patch)
treecf58b570df9c72c8483eeec6229bdf825c002da9
parent6bb8ea82b9b5f13808e245725bb647f79d64c3d7 (diff)
downloadarc-history-pre-upstream.tar.gz
ARC: Fix pt_orig_r8 accessarc-history-pre-upstream
Syscall restarting fixes made pt_regs->orig_r8 a short word, which was not reflected in the assembler code - thus could potentially break gdb debugging. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r--arch/arc/kernel/entry.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index 81164dbbfc363c..13d6c750875b4e 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -510,7 +510,7 @@ tracesys_exit:
trap_with_param:
; stop_pc info by gdb needs this info
- st orig_r8_IS_BRKPT, [sp, PT_orig_r8]
+ stw orig_r8_IS_BRKPT, [sp, PT_orig_r8]
mov r0, r12
lr r1, [efa]
@@ -737,7 +737,7 @@ not_exception:
; things to what they were, before returning from L2 context
;----------------------------------------------------------------
- ld r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is
+ ldw r9, [sp, PT_orig_r8] ; get orig_r8 to make sure it is
brne r9, orig_r8_IS_IRQ2, 149f ; infact a L2 ISR ret path
ld r9, [sp, PT_status32] ; get statu32_l2 (saved in pt_regs)
@@ -784,9 +784,9 @@ not_level1_interrupt:
;this case is for syscalls or Exceptions (with fake rtie)
#ifdef CONFIG_ARC_DBG_EVENT_TIMELINE
- ld r8, [sp, PT_orig_r8]
- cmp r8, NR_syscalls+1
- jeq 149f
+ ldw r8, [sp, PT_orig_r8]
+ cmp r8, orig_r8_IS_SCALL_RESTARTED
+ jhi 149f
TAKE_SNAP_ASM r9, r10, SNAP_TRAP_OUT
j 150f