加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux-kernel – 内核x86_64中的syscall_table位于何处?

发布时间:2020-12-13 23:51:14 所属栏目:Linux 来源:网络整理
导读:我正在尝试向 Linux内核添加新的系统调用(x86_64).基于 this article解释了如何将系统调用添加到内核(x86).文章说我需要在名为syscall_table_32.S的文件中定义我的系统调用名称,该文件位于src / arch / x86 / syscall_table_32.S中. 但就我而言,内核源代码中
我正在尝试向 Linux内核添加新的系统调用(x86_64).基于 this article解释了如何将系统调用添加到内核(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中读取this answer并将其与您的资源进行比较.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读