diff options
Diffstat (limited to 'src/internal/powerpc64/syscall.s')
-rw-r--r-- | src/internal/powerpc64/syscall.s | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/internal/powerpc64/syscall.s b/src/internal/powerpc64/syscall.s new file mode 100644 index 00000000..fe21f9e1 --- /dev/null +++ b/src/internal/powerpc64/syscall.s @@ -0,0 +1,17 @@ + .global __syscall + .hidden __syscall + .type __syscall,@function +__syscall: + mr 0, 3 # Save the system call number + mr 3, 4 # Shift the arguments: arg1 + mr 4, 5 # arg2 + mr 5, 6 # arg3 + mr 6, 7 # arg4 + mr 7, 8 # arg5 + mr 8, 9 # arg6 + sc + bnslr+ # return if not summary overflow + neg 3, 3 # otherwise error: return negated value. + blr + .end __syscall + .size __syscall, .-__syscall |