aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2024-04-15 12:01:43 +0300
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-04-16 09:41:18 +0900
commita0ff799984cf2ed1a50c1161aabff3aaee622c64 (patch)
treeb70d57bf08544317711a47feb89b53241984fc15 /include
parentb23e7718dd9942b27edfac9aee05f737d0e6922e (diff)
downloadgnumach-a0ff799984cf2ed1a50c1161aabff3aaee622c64.tar.gz
gnumach-a0ff799984cf2ed1a50c1161aabff3aaee622c64.tar.bz2
gnumach-a0ff799984cf2ed1a50c1161aabff3aaee622c64.zip
aarch64: Add public syscall ABI
We use largely the same ABI as Linux: a syscall is invoked with the "svc #0" instruction, passing arguments the same way as for a regular function call. Specifically, up to 8 arguments are passed in the x0-x7 registers, and the rest are placed on the stack (this is only necessary for the vm_map() syscall). w8 should contain the (negative) Mach trap number. A syscall preserves all registers except for x0, which upon returning contains the return value. Message-ID: <20240415090149.38358-4-bugaevc@gmail.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions