Solaris 8 のソフトウェア開発 (追補)

DDI アクセスハンドルの排他的使用

強化されたドライバによるすべてのプログラムされた入出力 (PIO) アクセスでは、必ず、ddi_getXddi_putXddi_rep_getX、および ddi_rep_putX ルーチンファミリーに含まれる Solaris DDI アクセス関数を使用しなければなりません。ドライバが、ddi_regs_map_setup(9F) から返されたアドレスを使用して、マップされたレジスタに直接アクセスしてはなりません。アクセスハンドルを使用することによって、入出力エラーが確実に制御され、その影響が戻り値に限定されるので、マシン状態の他の部分を壊す可能性が減少します (アクセスハンドルを使用しないため、ddi_peek(9F) および ddi_poke(9F) ルーチンは避けてください)。

DDI アクセスメカニズムは、カーネルにデータを読み込む方法を制御する機会を提供するので重要です。DDI アクセスルーチンは、バスタイムアウトトラップの影響を限定することによって、保護能力を提供します。