MIPS(loongson)linux 中添加系统调用

在基于MISP(loongson)架构处理器与基于 x86 架构处理器的 linux 内核中添加系统调用时更改的文件是不同的,x86 中需要更改


arch/x86/kernel/syscall_table_32.S
arch/x86/include/asm/unistd_32.h


文件。
而在 MIPS 中分两种情况,32bit 的内核中,需要更改


arch/mips/kernel/scall32-o32.S
arch/mips/include/unistd.h


两个文件;在 64bit 内核中,需要修改


arch/mips/kernel/scall64-64.S
arch/mips/include/unistd.h


文件,如果内核支持 32bit ABI(o32、n32),那么就需要更改额外的两个文件


arch/mips/kernel/scall64-o32.S
arch/mips/kernel/scall64-n32.S。


下面以基于 mips 的 64bit 内核为例来说明如何添加系统调用,系统支持 32bit ABI(o32, n32):

 


1. 向
  arch/mips/kernel/scall64-64.S
  arch/mips/kernel/scall64-o32.S
  arch/mips/kernel/scall64-n32.S。
三个文件中添加你的系统调用表项:
  PTR sys_lian_test
添加完成后类似:


2. 向
  arch/mips/include/unistd.h
文件中添加系统调用入口参数,注意,因为支持 32bit ABI(o32, n32) 的原因,此文件中需要更改三处:



3. 在
  arch/mips/kernel/syscall.c
文件中实现系统调用函数



4. 在
  include/linux/syscalls.h
中增加该系统调用函数的声明:



5. 系统调用添加完成,需要编译内核,然后从新内核启动,然后再在用户层验证该系统调用



6. 结果:


转载于:https://www.cnblogs.com/lian4187/p/3613766.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值