Linux kernel 内核x86_64中的syscall_表位于哪里?
我正在尝试向Linux内核(x86_64)添加新的系统调用。在此基础上解释了如何向内核(x86)添加系统调用。文章说我需要在一个名为Linux kernel 内核x86_64中的syscall_表位于哪里?,linux-kernel,system-calls,Linux Kernel,System Calls,我正在尝试向Linux内核(x86_64)添加新的系统调用。在此基础上解释了如何向内核(x86)添加系统调用。文章说我需要在一个名为syscall\u table\u 32.S的文件中定义我的系统调用名,该文件位于src/arch/x86/syscall\u table\u 32.S中 但是在我的例子中,内核源代码中没有名为syscall\u table\u 32.S或syscall\u table\u 64.S的文件!在src/arch/中甚至没有x64系统调用表的目录 那么,内核3.13.0
syscall\u table\u 32.S
的文件中定义我的系统调用名,该文件位于src/arch/x86/syscall\u table\u 32.S
中
但是在我的例子中,内核源代码中没有名为syscall\u table\u 32.S
或syscall\u table\u 64.S
的文件!在src/arch/
中甚至没有x64系统调用表的目录
那么,内核3.13.0-14-generic(x86\u 64)中定义的syscall\u table\u 64.S
在哪里?
在哪里可以定义新的系统调用?3.3版及以后的版本与指南中使用的2.X不同。您应该在
arch/x86/
目录中查找syscalls
目录。因此:
cd /kernel-src/arch/x86/syscalls/syscall_64.tbl
kernelsrc
是内核源所在的目录。一个好主意是读入SO,并将其与您的资源进行比较。可能的副本