linux arch/arm64 添加系统调用

Posted yuchaodu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

以上是关于linux arch/arm64 添加系统调用的主要内容,如果未能解决你的问题,请参考以下文章

添加一个系统调用

加入新的linux系统调用

关于socket在Linux下系统调用的分析

Linux kernel oops

Linux kernel oops

windows操作系统如何支持yaffs文件系统