[英]Where is located syscall_table in kernel x86_64?
我正在尝试向Linux内核添加新的系统调用(x86_64)。 基于这篇文章解释了如何将系统调用添加到内核(x86)。 文章说我需要在名为syscall_table_32.S
的文件中定义我的系统调用名称,该文件位于src/arch/x86/syscall_table_32.S
。
但就我而言,内核源代码中没有名为syscall_table_32.S
或syscall_table_64.S
文件! 在src/arch/
甚至没有x64系统调用表的目录。
那么,内核3.13.0-14-generic(x86_64)中定义的syscall_table_64.S
在哪里? 我在哪里可以定义新的系统调用?
版本3.3以后与指南使用的2.X不同。 您应该在arch/x86/
目录中查找syscalls
目录。 所以是:
cd /kernel-src/arch/x86/syscalls/syscall_64.tbl
kernel-src
是内核源代码所在的目录。 一个好主意是在SO中阅读这个答案并将其与您的资源进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.