您的位置 首页 ADAS

ARM架构下增加体系调用与32位x86差异

在这两种架构下添加系统调用的步骤是类似的,简要地比较一下,以2.6.28.6内核为例。1.在内核源码相应位置(如sys.c或其他与这个函数…

  在这两种架构下增加体系调用的过程是相似的,简要地比较一下,以2.6.28.6内核为例。

  1.在内核源码相应方位(如sys.c或其他与这个函数联络严密的文件)增加新的内核函数作为体系调用,形如

asmlinkage long sys_foo(void) {}

  2.参加体系调用表。ARM架构存放于/arch/arm/kernel/call.S中,形如CALL(sys_foo);x86架构放于/arch/x86/kernel/syscall_table_32.S中,形如.longsys_foo。

  3.界说体系调用号。ARM架构存放于/arch/arm/include/asm/unistd.h中,形如

  

#define __NR_foo (__NR_SYSCALL_BASE+361);

  x86架构放于/arch/x86/include/asm/unistd_32.h中,形如

#define __NR_foo 333

  4.运用方法:编译修改后的内核,在用户空间中运用syscall()调用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/277014.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部