Robert Loveの本から(システム呼び出しの実装で)
どういうわけか、ユーザースペースはトラップ中にパラメータをカーネルに中継する必要があります。これを行う最も簡単な方法は、syscall番号が渡されるのと同じ方法を使用することです。パラメーターはレジスターに保管されます。x86-32では、レジスタebx、ecx、edx、esi、およびediに、最初の5つの引数が順番に含まれています。6つ以上の引数がある場合は、1つのレジスタを使用してユーザーへのポインタを保持します。すべてのパラメータが格納されるスペース。
ただしasymlinkage
、パラメータがシステムスタックにあることを期待するすべてのシステムコールには接頭辞が付きます。また、モード切り替えが発生した場合、パラメータがカーネルスタックにコピーされる方法は?