Skip to content

Commit

Permalink
[MIPS] Fix register handling in syscalls when debugging.
Browse files Browse the repository at this point in the history
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed Dec 1, 2005
1 parent ecd5a73 commit 04a7052
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
4 changes: 3 additions & 1 deletion arch/mips/kernel/scall32-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,13 @@ syscall_trace_entry:
li a1, 0
jal do_syscall_trace

move t0, s0
RESTORE_STATIC
lw a0, PT_R4(sp) # Restore argument registers
lw a1, PT_R5(sp)
lw a2, PT_R6(sp)
lw a3, PT_R7(sp)
jalr s0
jalr t0

li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
Expand Down
4 changes: 3 additions & 1 deletion arch/mips/kernel/scall64-64.S
Original file line number Diff line number Diff line change
Expand Up @@ -93,13 +93,15 @@ syscall_trace_entry:
li a1, 0
jal do_syscall_trace

move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp)
ld a2, PT_R6(sp)
ld a3, PT_R7(sp)
ld a4, PT_R8(sp)
ld a5, PT_R9(sp)
jalr s0
jalr t0

li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
Expand Down
4 changes: 3 additions & 1 deletion arch/mips/kernel/scall64-n32.S
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,15 @@ n32_syscall_trace_entry:
li a1, 0
jal do_syscall_trace

move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp)
ld a2, PT_R6(sp)
ld a3, PT_R7(sp)
ld a4, PT_R8(sp)
ld a5, PT_R9(sp)
jalr s0
jalr t0

li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
Expand Down
4 changes: 3 additions & 1 deletion arch/mips/kernel/scall64-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ trace_a_syscall:
li a1, 0
jal do_syscall_trace

move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp)
ld a2, PT_R6(sp)
Expand All @@ -132,7 +134,7 @@ trace_a_syscall:
ld a5, PT_R9(sp)
ld a6, PT_R10(sp)
ld a7, PT_R11(sp) # For indirect syscalls
jalr s0
jalr t0

li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
Expand Down

0 comments on commit 04a7052

Please sign in to comment.