diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2024-04-15 12:01:43 +0300 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2024-04-16 09:41:18 +0900 |
commit | a0ff799984cf2ed1a50c1161aabff3aaee622c64 (patch) | |
tree | b70d57bf08544317711a47feb89b53241984fc15 /include | |
parent | b23e7718dd9942b27edfac9aee05f737d0e6922e (diff) | |
download | gnumach-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