如何在linux内核2.4中更改sys_call_表的大小?
文件linux/arch/i386/kernel/entry.S包含系统调用列表:如何在linux内核2.4中更改sys_call_表的大小?,linux,linux-kernel,operating-system,system,gnu-assembler,Linux,Linux Kernel,Operating System,System,Gnu Assembler,文件linux/arch/i386/kernel/entry.S包含系统调用列表: ENTRY(sys_call_table) .long SYMBOL_NAME(sys_ni_syscall) /* 0 - old "setup()" system call*/ .long SYMBOL_NAME(sys_exit) .long SYMBOL_NAME(sys_fork) .long SYMBOL_NAME(sys_read) .
ENTRY(sys_call_table)
.long SYMBOL_NAME(sys_ni_syscall) /* 0 - old "setup()" system call*/
.long SYMBOL_NAME(sys_exit)
.long SYMBOL_NAME(sys_fork)
.long SYMBOL_NAME(sys_read)
.
.
.
.long SYMBOL_NAME(sys_start_monitor) /* 243 */
.long SYMBOL_NAME(sys_stop_monitor) /* 244 */
.long SYMBOL_NAME(sys_get_all_events_number) /* 245 */
.long SYMBOL_NAME(sys_get_events) /* 246 */
.rept NR_syscalls-(.-sys_call_table)/4
.long SYMBOL_NAME(sys_ni_syscall)
.endr
我加了243-246。我想确保表的大小相应地增大。我怀疑247-248行与此有关,但我不确定。我知道在旧版本的linux中,我需要增加一个计数器,但我在这里找不到
那么第247-248行是做什么的呢?表格大小是自动增长还是需要更改?此代码:
.rept NR_syscalls-(.-sys_call_table)/4
.long SYMBOL_NAME(sys_ni_syscall)
.endr
看起来它将
sys\u call\u表
填充到NR\u syscalls
long。我认为NR\u syscalls
可能是您需要调整的地方。您知道如何调整吗?我没有看到柜台或类似的东西需要换。