😊
システムコールを追加しよう
ヘッダファイルに自分のシステムコールを追加する。
- システムコールテーブルに451番のmycall登録
arch/x86/entry/syscalls/syscall_64.tbl
451 common mycall sys_mycall
- Cソース追加
arch/x86/kernel/mycall.c
#include <linux/kernel.h>
#include <linux/syscalls.h>
#include <asm/current.h>
asmlinkage void __x64_sys_mycall(void) {
printk(KERN_INFO "hello mycall\n");
};
3.Makefile修正
arch/x86/kernel/Makefile
obj-y += mycall.o
- カーネルビルド
sudo make
- Cファイルを作成する mycall.c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int main () {
syscall(451);
return 0;
}
- 実行するとdmesgに標示される。
Discussion