ARM架构下添加系统调用(与32位x86区别)
来源:互联网 发布:数据挖掘的作用 编辑:程序博客网 时间:2024/06/06 06:31
在这两种架构下添加系统调用的步骤是类似的,简要地比较一下,以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中,形如.long sys_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()调用。
- ARM架构下添加系统调用(与32位x86区别)
- ARM与X86架构对比区别
- ARM与X86架构对比区别
- ARM与X86架构对比区别
- ARM与X86 CPU架构对比区别
- ARM与X86架构对比区别
- ARM与X86架构对比区别
- ARM与X86架构对比区别
- ARM与X86架构对比区别
- x86架构处理器与arm的区别
- ARM与X86 CPU架构对比区别
- ARM与X86 CPU架构对比区别
- ARM与X86 CPU架构对比区别
- ARM与X86 CPU架构对比区别
- ARM与X86 CPU架构对比区别
- linux 添加系统调用的方法(arm架构)
- ARM架构与X86架构
- ARM与X86区别
- 内核线程的创建、使用和退出;关于延时宏的补充说明
- 内核线程优先级的设置
- EXPORT_SYMBOL的使用并以使用do_adjtimex调节内核tick_length(滴答长度)为例的说明
- Linux信号量操作次数的探究
- 交叉编译生成模块的makefile写法
- ARM架构下添加系统调用(与32位x86区别)
- 利用隐藏神经元解决异或问题的小型示例程序
- 红黑树的学习笔记
- B-树的学习笔记与C实现
- 稀疏图上的Johnson算法
- VC维含义的个人理解
- Linux下Matlab的安装和中文显示支持
- Ubuntu下OpenCV的安装和QT调用openCV库的方法
- Python遍历路径下文件并转换成UTF-8编码