我在虚拟机上使用linux-headers-2.6.32-21
包。我打算写一个新的系统调用。我找到了其他文件来编写系统调用的首字母,但我无法在syscall_table_32.S
目录中找到此arch/x86/kernel/
。请帮我看看这个文件的方式和位置。我怀疑它可能因许可问题或其他原因而被隐藏。
答案 0 :(得分:3)
以下提交将其删除:
commit 303395ac3bf3e2cb488435537d416bc840438fcb
Author: H. Peter Anvin <hpa@linux.intel.com>
Date: Fri Nov 11 16:07:41 2011 -0800
x86: Generate system call tables and unistd_*.h from tables
Generate system call tables and unistd_*.h automatically from the
tables in arch/x86/syscalls. All other information, like NR_syscalls,
is auto-generated, some of which is in asm-offsets_*.c.
This allows us to keep all the system call information in one place,
and allows for kernel space and user space to see different
information; this is currently used for the ia32 system call numbers
when building the 64-bit kernel, but will be used by the x32 ABI in
the near future.
This also removes some gratuitious differences between i386, x86-64
and ia32; in particular, now all system call tables are generated with
the same mechanism.
因为现在syscall表是由arch / x86 / syscalls / syscalltbl.sh脚本生成的,基于arch / x86 / syscalls / syscall_ {32,64} .tbl。
答案 1 :(得分:0)
/usr/src/kernels/3.3.4-5.fc17.i686.PAE/arch/x86/include/generated/asm
这里你可以得到syscalls_32.h。