Where is syscall_table in x86_64 kernel?
I am trying to add a new system call to Linux kernel (x86_64). Based on this article , which explains how to add a system call to the kernel (x86). The article says that I need to define the name of my system call in the file named syscall_table_32.S
which is in src/arch/x86/syscall_table_32.S
.
But in my case there is no file named syscall_table_32.S
or syscall_table_64.S
in the kernel source! There is no directory for the x64 System Call table in src/arch/
.
So where is it syscall_table_64.S
defined in kernel 3.13.0-14-generic (x86_64)? Where can I define a new system call?
source to share
Version 3.3 further differs from the 2.X used by the manual. You should look for a directory syscalls
in a directory arch/x86/
. Thus:
cd /kernel-src/arch/x86/syscalls/syscall_64.tbl
kernel-src
is the directory where your kernel sources are located. It's a good idea to read this answer on SO and compare it to your resource.
source to share