vxworks系统调用陷阱机制

vxworks system call trap mechanism

我是 VxWorks 的新手,正在使用 VxWorks 的 ELF 二进制文件。系统调用似乎通过调用地址 _func_syscallTrapHandle0x1234 陷入内核。由于程序必须过渡到内核,我假设这样做的目标是通过访问低内存进入内核来进行段错误是否正确?如果是这样,段错误 ISR 会检查 rax 的内容,并在 0x1234 时执行系统调用逻辑吗?为什么不使用 syscall 指令?

你描述的是vxsim中的系统调用陷阱机制;作为 VxWorks,在这种情况下,在 Linux 或 Windows 中作为正常进程执行,它不能使用系统调用指令。 真实硬件的 elf 二进制文件表现不同。