We added a system call to modify idt table, then programed it in modify_idt.c
1. Put our modify_idt.c file in /usr/src/linux-3.10.15/arch/x86/kernel
2. /usr/src/linux-3.10.15/arch/x86/syscalls# vim syscall_64.tbl
add a new line
1 |
314 64 modify_idt sys_modify_idt |
3. Add the prototype of our system call in
/usr/src/linux-3.10.15/include/linux/syscalls.h
1 |
asmlinkage long
sys_modify_idt( int
i); |
4. Add the file to the Makefile in /usr/src/linux-3.10.15/arch/x86/kernel/Makefile by
adding modify_idt.o to the list in obj-y += ...
1
2
3
4 |
obj-y := process_$(BITS).o signal.o entry_$(BITS).o obj-y += traps.o irq.o irq_$(BITS).o dumpstack_$(BITS).o obj-y += modify_idt.o // adding this one |
5. Do not forget to recompile & reload the kernel before testing!
Add a system call on Ubuntu 13.04(x64) with x86_64,布布扣,bubuko.com
Add a system call on Ubuntu 13.04(x64) with x86_64
原文:http://www.cnblogs.com/bittorrent/p/3744028.html