繁体   English   中英

内核x86_64中的syscall_table位于何处?

[英]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.Ssyscall_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM