gpt4 book ai didi

system-calls - Armv8 的 Linux 系统调用约定

转载 作者:行者123 更新时间:2023-12-03 23:17:59 24 4
gpt4 key购买 nike

有谁知道我在哪里可以找到 ArmV8 中 Linux 系统调用的约定?
必须传入什么寄存器参数以及返回值存储在哪里。

最佳答案

使用 svc #0 发出系统调用操作说明。
系统调用号在寄存器 X8 上传递返回值存储在 X0 .

这是一篇关于 ARMv8 系统调用的有趣文章的链接:Decoding Syscalls in ARM64

这是 Procedure Call Standard for the ARM 64-bit Architecture (AArch64) 的链接这可以为您提供有关 ARMv8 调用约定的更多信息。

您还可以通过运行 man syscall 获取该信息在一些运行 Linux 的 ARM 机器的终端上。

这是来自man syscall的信息摘要:

arch/ABI    instruction           syscall #  retval
arm64 svc #0 x8 x0

参数:
arch/ABI      arg1  arg2  arg3  arg4  arg5  arg6  arg7
arm64 x0 x1 x2 x3 x4 x5 -

关于system-calls - Armv8 的 Linux 系统调用约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com