如果程序在仅EABI内核中进行OABI样式的系统调用会发生什么?

Alb*_*rto 6 linux arm

或者更一般地说,如果在这样的内核上执行带有操作码!= 0的swi指令会发生什么?它会产生信号吗?我问,因为我想陷阱.

zwo*_*wol 0

字段指令的代码swi位于:http://lxr.linux.no/linux+*/arch/arm/kernel/entry-common.S#L335。我不是 ARM 专家,但 CPU 似乎并没有将swi参数存储在内核可以获取的任何地方;如果内核想知道,它必须从调用程序的运行时映像中获取指令。这使得每个系统调用都更加昂贵,因此(如果我正确地阅读了内容)内核只会费心找出参数swi是什么(如果它是用CONFIG_OABI_COMPAT.

编辑:ARM ARM确认 SWI 对其参数没有做任何有用的事情。(物理页 634 / 逻辑页 A7-118。)