一部のデバイスドライバでは、カーネルメモリーを割り当て、そのメモリーにユーザープログラムから mmap(2) 経由でアクセスできるようにしなければならない場合があります。たとえば、2 つのアプリケーション間で通信を行うための共有メモリーを設定する場合が挙げられます。また、ドライバとアプリケーションとの間でメモリーを共有する場合なども挙げられます。
カーネルメモリーをユーザーアプリケーションにエクスポートする場合は、次の手順に従います。
ddi_umem_alloc(9F) を使用してカーネルメモリーを割り当てます。
devmap_umem_setup(9F) を使用してメモリーをエクスポートします。
メモリーが不要になったら、 ddi_umem_free(9F) を使用してメモリーを解放します。