如何给MIPS架构的kernel添加系统调用
来源:互联网 发布:java 字节码增强 asm 编辑:程序博客网 时间:2024/05/17 09:01
首先在arch/mips模块里添加新系统调用getposition的实现:
arch/mips/kernel/scall32-o32.S
sys sys_ni_syscall 0
sys sys_ni_syscall 0
sys sys_ni_syscall 0
sys sys_ioprio_set 3
sys sys_ioprio_get 2 /* 4315 */
+ sys sys_getposition 0 /* 4316 */
.endm
arch/mips/kernel/syscall.c
+ asmlinkage int sys_getposition()
+ {
+ return 0;
+ }
然后在头文件里给系统调用分配调用号:
include/asm-mips/unistd.h
#define __NR_ioprio_set (__NR_Linux + 314)
#define __NR_ioprio_get (__NR_Linux + 315)
+ #define __NR_getposition (__NR_Linux + 316)
/*
* Offset of the last Linux o32 flavoured syscall
*/
- #define __NR_Linux_syscalls 315
+ #define __NR_Linux_syscalls 316
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
#define __NR_O32_Linux 4000
- #define __NR_O32_Linux_syscalls 315
+ #define __NR_O32_Linux_syscalls 316
编译内核。。。。
完成后,测试新的系统调用:
test.c
#include <linux/unistd.h>
_syscall0(int, getposition)
int main()
{
int i = getposition();
...
return 0;
}
完成!
- 如何给MIPS架构的kernel添加系统调用
- mips的系统调用
- MIPS Linux 下添加系统调用,以Linux kernel 2.6.18为例.
- MIPS Linux 下添加系统调用,以Linux kernel 2.6.18为例
- MIPS Linux 下添加系统调用
- mips处理器linux内核添加系统调用
- 如何在arm linux kernel(内核)中添加系统调用
- 给linux添加系统调用
- 如何添加新的系统调用
- linux 添加系统调用的方法(arm架构)
- linux系统mem_map的定义和赋值(mips架构)
- MIPS架构的医院智能导诊系统设计
- vxWorks系统中(MIPS架构)的中断分发分析
- arm 体系架构下 linux kernel 的系统调用与返回 源码分析与总结
- 如何给虚拟机上的linux系统添加虚拟硬盘
- 如何给ecshop系统添加新的配送插件
- 如何在Linux系统中添加新的系统调用
- 如何添加linux系统调用
- 中间件的概念
- Linux 系统目录介绍
- blackberry 模拟器如何显示中文
- 数据库设计的黄金经验
- Visual C++编程技巧小结
- 如何给MIPS架构的kernel添加系统调用
- 通过HOOK控制进程的创建
- Execute an external program
- flex DataGrid 编辑后保存
- 64位操作系统中使用ODBC
- 用shell 脚本来操作subversion
- 3rd SDK改变应用程序图标(bmp文件的图标)
- 所有UML箭头图例说明
- 在VC++6.0中用Win32 API实现串行通信