我正在尝试向 Linux 内核(x86_64)添加新的系统调用。基于本文 http://techeclipse.com/how-to/linux-kernel/其中解释了如何将系统调用添加到内核(x86)。该文章说我需要在名为的文件中定义我的系统调用名称syscall_table_32.S
它位于src/arch/x86/syscall_table_32.S
.
但就我而言,没有名为syscall_table_32.S
or syscall_table_64.S
在内核源码中!甚至没有 x64 系统调用表的目录src/arch/
.
那么,哪里是syscall_table_64.S
在内核 3.13.0-14-generic (x86_64) 中定义?
在哪里可以定义新的系统调用?
3.3 及以上版本与指南使用的 2.X 不同。你应该寻找syscalls
目录中,在arch/x86/
目录。也是如此:
cd /kernel-src/arch/x86/syscalls/syscall_64.tbl
kernel-src
是内核源代码所在的目录。一个好主意是阅读这个答案 https://stackoverflow.com/a/10052600/792066SO 并将其与您的资源进行比较。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)