无法在linux中找到syscall_table_32.S文件

时间:2013-01-26 04:55:47

标签: linux linux-kernel system-calls archlinux

我在虚拟机上使用linux-headers-2.6.32-21包。我打算写一个新的系统调用。我找到了其他文件来编写系统调用的首字母,但我无法在syscall_table_32.S目录中找到此arch/x86/kernel/。请帮我看看这个文件的方式和位置。我怀疑它可能因许可问题或其他原因而被隐藏。

2 个答案:

答案 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。