diff options
Diffstat (limited to 'arch/sparc/kernel/entry.S')
-rw-r--r-- | arch/sparc/kernel/entry.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S index 2f96256dc51..e8cdf715a54 100644 --- a/arch/sparc/kernel/entry.S +++ b/arch/sparc/kernel/entry.S | |||
@@ -1196,8 +1196,9 @@ sys_rt_sigreturn: | |||
1196 | be 1f | 1196 | be 1f |
1197 | nop | 1197 | nop |
1198 | 1198 | ||
1199 | add %sp, STACKFRAME_SZ, %o0 | ||
1199 | call syscall_trace | 1200 | call syscall_trace |
1200 | nop | 1201 | mov 1, %o1 |
1201 | 1202 | ||
1202 | 1: | 1203 | 1: |
1203 | /* We are returning to a signal handler. */ | 1204 | /* We are returning to a signal handler. */ |
@@ -1287,8 +1288,12 @@ linux_fast_syscall: | |||
1287 | mov %i3, %o3 | 1288 | mov %i3, %o3 |
1288 | 1289 | ||
1289 | linux_syscall_trace: | 1290 | linux_syscall_trace: |
1291 | add %sp, STACKFRAME_SZ, %o0 | ||
1290 | call syscall_trace | 1292 | call syscall_trace |
1291 | nop | 1293 | mov 0, %o1 |
1294 | cmp %o0, 0 | ||
1295 | bne 3f | ||
1296 | mov -ENOSYS, %o0 | ||
1292 | mov %i0, %o0 | 1297 | mov %i0, %o0 |
1293 | mov %i1, %o1 | 1298 | mov %i1, %o1 |
1294 | mov %i2, %o2 | 1299 | mov %i2, %o2 |
@@ -1337,6 +1342,7 @@ syscall_is_too_hard: | |||
1337 | call %l7 | 1342 | call %l7 |
1338 | mov %i5, %o5 | 1343 | mov %i5, %o5 |
1339 | 1344 | ||
1345 | 3: | ||
1340 | st %o0, [%sp + STACKFRAME_SZ + PT_I0] | 1346 | st %o0, [%sp + STACKFRAME_SZ + PT_I0] |
1341 | 1347 | ||
1342 | ret_sys_call: | 1348 | ret_sys_call: |
@@ -1374,6 +1380,8 @@ ret_sys_call: | |||
1374 | st %l2, [%sp + STACKFRAME_SZ + PT_NPC] | 1380 | st %l2, [%sp + STACKFRAME_SZ + PT_NPC] |
1375 | 1381 | ||
1376 | linux_syscall_trace2: | 1382 | linux_syscall_trace2: |
1383 | add %sp, STACKFRAME_SZ, %o0 | ||
1384 | mov 1, %o1 | ||
1377 | call syscall_trace | 1385 | call syscall_trace |
1378 | add %l1, 0x4, %l2 /* npc = npc+4 */ | 1386 | add %l1, 0x4, %l2 /* npc = npc+4 */ |
1379 | st %l1, [%sp + STACKFRAME_SZ + PT_PC] | 1387 | st %l1, [%sp + STACKFRAME_SZ + PT_PC] |