可在任意位置實現函數
asmlinkage long sys_函數名(參數)
{
}
or
#include <linux/syscalls.h>
SYSCALL_DEFINEx(函數名, type1, name1, type2, name2, ...)
x 表示參數個數, 函數名前面會自動加上sys_
{
}
linux/arch/arm/kernel/call.S
CALL(sys_函數名) 加在所有CALL的後面, 系統調用號為前面的調用號加1
linux/arch/arm/include/asm/unistd.h
不是必須的, 主要提供給應用層使用, make headers_install會將頭文件安裝在linux/usr/下
#define __NR_函數名 (__NR_SYSCALL_BASE+系統調用號)