linux arch/arm64 添加系统调用


1,添加一个系统调用,增加系统总调用数+1

diff in kernel/include/uapi/asm-generic/unistd.h

++ #define __NR_mysyscall 285

++ SYSCALL(__NR_mysyscall, sys_mysyscall)

#undef __NR_syscalls

-- #define __NR_syscalls 285

++ #define __NR_syscalls 286

2,声明

diff in kernel/include/linux/syscalls.h

++ asmlinkage long sys_mysyscall(const char __user * process)

#endif

3,实现

diff in kernel/kernel/sys.c

++ SYSCALL_DEFINE1(mysyscall, const char __user *, process)

++ {

++   struct task_struct * p=current;

++   PRINT_LOG("add syscall %s %s\n",p->comm,process);

++  return 1;

++ }

4,JNI层调用

#include <sys/syscall.h>

#define__NR_mysyscall 285

int ch=syscall(__NR_mysyscall,process);

优质内容筛选与推荐>>
1、HDU5339——Untitled
2、java项目编译有误
3、pku3715 Blue and Red
4、编译PHP5缺t1lib包安装
5、正则表达式—从HTML里提取内容


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号