syscall.2: Add x32 ABI

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Jann Horn 2015-03-24 19:40:43 +01:00 committed by Michael Kerrisk
parent 37daa840af
commit 9ccd62fc42
1 changed files with 8 additions and 1 deletions

View File

@ -170,12 +170,18 @@ s390 svc 0 r1 r2 See below
s390x svc 0 r1 r2 See below
sparc/32 t 0x10 g1 o0
sparc/64 t 0x6d g1 o0
x86_64 syscall rax rax
x86_64 syscall rax rax See below
x32 syscall rax rax See below
.TE
.PP
For s390 and s390x, NR (the system call number)
may be passed directly with "svc NR" if it is less than 256.
The x32 ABI uses the same instruction as the x86_64 ABI and is used on
the same processors. To differentiate between them, the bitmask
.I __X32_SYSCALL_BIT
is bitwise-ORed into the syscall number for syscalls under the x32 ABI.
On a few architectures,
a register is used to indicate simple boolean failure of the system call:
ia64 uses
@ -210,6 +216,7 @@ s390x r2 r3 r4 r5 r6 r7 -
sparc/32 o0 o1 o2 o3 o4 o5 -
sparc/64 o0 o1 o2 o3 o4 o5 -
x86_64 rdi rsi rdx r10 r8 r9 -
x32 rdi rsi rdx r10 r8 r9 -
.TE
.PP
The mips/o32 system call convention passes