编写设备驱动程序

devmap_unload() 入口点

devmap_unload(9F) 的语法如下所示:

    int devmap_unload(devmap_cookie_t handle, offset_t offset,
     size_t len);

devmap_unload() 可使对 handleoffsetlen 指定的映射页的映射转换无效。通过使对这些页的映射转换无效,设备驱动程序将告知系统拦截对这些映射页的访问。并且,下次通过调用 devmap_access(9E) 入口点访问这些映射页时,系统必须通知设备驱动程序。

对于这两个函数而言,请求会影响包含 offset 的整页,直到包含由 offset + len 所表示的最后一个字节的整页(包含该页)。设备驱动程序必须确保对于所映射的每页设备内存而言,在任意时刻仅有一个进程具有有效转换。

如果成功,两个函数都将返回零。但是,如果在对映射转换进行验证或使其无效时出现错误,则该错误将返回给设备驱动程序。设备驱动程序必须将此错误返回给系统。