Assume that your linux source base directory is /usr/src/linux.
Kernel files to be modified are listed below:
1. /usr/src/linux/arch/i386/kernel/syscall_table.S
2. /usr/src/linux/include/asm-i386/unistd.h
3. /usr/src/linux/include/linux/syscalls.h
4. /usr/src/linux/Makefile
New kernel files/directories to be created are listed below:
1. /usr/src/linux/mycall - Directory that will contain the source file, header file and the Makefile for our system call (You can also implement your system call in an existing file).
2. /usr/src/linux/mycall/mycall.c - Source file containing our system call code.
3. /usr/src/linux/mycall/Makefile - Makefile
New user space files, to be created, to test our system call are listed below:
1. testmycall.c – Source file that will call our system call.
2. testmycall.h - Header file.