vxworks系统调用陷阱机制
vxworks system call trap mechanism
我是 VxWorks 的新手,正在使用 VxWorks 的 ELF 二进制文件。系统调用似乎通过调用地址 _func_syscallTrapHandle
即 0x1234
陷入内核。由于程序必须过渡到内核,我假设这样做的目标是通过访问低内存进入内核来进行段错误是否正确?如果是这样,段错误 ISR 会检查 rax
的内容,并在 0x1234
时执行系统调用逻辑吗?为什么不使用 syscall
指令?
你描述的是vxsim中的系统调用陷阱机制;作为 VxWorks,在这种情况下,在 Linux 或 Windows 中作为正常进程执行,它不能使用系统调用指令。
真实硬件的 elf 二进制文件表现不同。
我是 VxWorks 的新手,正在使用 VxWorks 的 ELF 二进制文件。系统调用似乎通过调用地址 _func_syscallTrapHandle
即 0x1234
陷入内核。由于程序必须过渡到内核,我假设这样做的目标是通过访问低内存进入内核来进行段错误是否正确?如果是这样,段错误 ISR 会检查 rax
的内容,并在 0x1234
时执行系统调用逻辑吗?为什么不使用 syscall
指令?
你描述的是vxsim中的系统调用陷阱机制;作为 VxWorks,在这种情况下,在 Linux 或 Windows 中作为正常进程执行,它不能使用系统调用指令。 真实硬件的 elf 二进制文件表现不同。