私はRobert LoveのLinuxカーネル開発を読んでいます。彼がやっている練習の1つは、システムコールを作成することです(106ページ)。問題は、x86_32アーキテクチャのv3.9でシステムコールテーブルファイルを見つけることができないことです。私は彼がバージョン2.6.xxを使っていることを知っていますが、バージョンがかなり古いので使用しているディストリビューションで動作するかどうか分からないので、v3.9を好むでしょう。 システムコールテーブルの最後にエントリを追加します。これは、システムコールをサポートするアーキテクチャごとに実行する必要があります(ほとんどの場合、システムコールをサポートします)。コールはすべてのアーキテクチャです)テーブル内のシステムコールの位置はゼロから始まり、システムコール番号です。たとえば、リストの10番目のエントリには、システムコール番号9が割り当てられます。 linuxカーネルのシステムコールテーブルはどこですか?
は、以下の手法を用いて解く: システムコールテーブルは、x86アーキテクチャのためのアーチ/ x86の/システムコール/ syscall_32.tblに位置しています。彼の助けを借りてSudip Mukherjeeに感謝します。あまりにも彼の助けのためのスリニバスGanjiに http://lists.kernelnewbies.org/pipermail/kernelnewbies/2013-July/008598.html ありがとう:
別のアプローチは、次のようです。
? – mnagel
本書では、それはentry.Sに位置していると言いますが、私が知る限り、これは最後のバージョンで変更されています。だから、私はarch/x86/kernelでentry_32.Sファイルを見つけましたが、そこにはテーブルが見つかりませんでした。 – Iker
[ここ](http://lxr.linux.no /#linux+v3.9/arch/x86/ia32/syscall_ia32.c#L18) – levengli