Commit 04a7052c authored by Ralf Baechle's avatar Ralf Baechle

[MIPS] Fix register handling in syscalls when debugging.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ecd5a739
...@@ -94,11 +94,13 @@ syscall_trace_entry: ...@@ -94,11 +94,13 @@ syscall_trace_entry:
li a1, 0 li a1, 0
jal do_syscall_trace jal do_syscall_trace
move t0, s0
RESTORE_STATIC
lw a0, PT_R4(sp) # Restore argument registers lw a0, PT_R4(sp) # Restore argument registers
lw a1, PT_R5(sp) lw a1, PT_R5(sp)
lw a2, PT_R6(sp) lw a2, PT_R6(sp)
lw a3, PT_R7(sp) lw a3, PT_R7(sp)
jalr s0 jalr t0
li t0, -EMAXERRNO - 1 # error? li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0 sltu t0, t0, v0
......
...@@ -93,13 +93,15 @@ syscall_trace_entry: ...@@ -93,13 +93,15 @@ syscall_trace_entry:
li a1, 0 li a1, 0
jal do_syscall_trace jal do_syscall_trace
move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp) ld a1, PT_R5(sp)
ld a2, PT_R6(sp) ld a2, PT_R6(sp)
ld a3, PT_R7(sp) ld a3, PT_R7(sp)
ld a4, PT_R8(sp) ld a4, PT_R8(sp)
ld a5, PT_R9(sp) ld a5, PT_R9(sp)
jalr s0 jalr t0
li t0, -EMAXERRNO - 1 # error? li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0 sltu t0, t0, v0
......
...@@ -90,13 +90,15 @@ n32_syscall_trace_entry: ...@@ -90,13 +90,15 @@ n32_syscall_trace_entry:
li a1, 0 li a1, 0
jal do_syscall_trace jal do_syscall_trace
move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp) ld a1, PT_R5(sp)
ld a2, PT_R6(sp) ld a2, PT_R6(sp)
ld a3, PT_R7(sp) ld a3, PT_R7(sp)
ld a4, PT_R8(sp) ld a4, PT_R8(sp)
ld a5, PT_R9(sp) ld a5, PT_R9(sp)
jalr s0 jalr t0
li t0, -EMAXERRNO - 1 # error? li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0 sltu t0, t0, v0
......
...@@ -124,6 +124,8 @@ trace_a_syscall: ...@@ -124,6 +124,8 @@ trace_a_syscall:
li a1, 0 li a1, 0
jal do_syscall_trace jal do_syscall_trace
move t0, s0
RESTORE_STATIC
ld a0, PT_R4(sp) # Restore argument registers ld a0, PT_R4(sp) # Restore argument registers
ld a1, PT_R5(sp) ld a1, PT_R5(sp)
ld a2, PT_R6(sp) ld a2, PT_R6(sp)
...@@ -132,7 +134,7 @@ trace_a_syscall: ...@@ -132,7 +134,7 @@ trace_a_syscall:
ld a5, PT_R9(sp) ld a5, PT_R9(sp)
ld a6, PT_R10(sp) ld a6, PT_R10(sp)
ld a7, PT_R11(sp) # For indirect syscalls ld a7, PT_R11(sp) # For indirect syscalls
jalr s0 jalr t0
li t0, -EMAXERRNO - 1 # error? li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0 sltu t0, t0, v0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment