xlate_unpin 内核服务
用途
取消锁定虚拟缓冲区的所有页。
语法
int xlate_unpin (dp, baddr, count)
struct xmem *dp;
caddr_t baddr;
int count;描述
xlate_unpin 内核服务会根据 巴德尔 和 计数 参数从先前对 xlate_pin 内核服务的调用中取消锁定页面。 它通过利用附加到 民主党所指向的交叉内存描述符的预翻译实页号来执行此操作。
如果在 pretranslation 数据结构的 prexflags 标志字中未设置 XLATE_PERSISTENT 标志,那么也会释放 pretranslation 数据结构。
参数
| 项 | 描述 |
|---|---|
| dp | 指向该交叉内存描述符。 |
| 巴德尔 | 指向该虚拟缓冲区。 |
| COUNT | 指定该虚拟缓冲区的长度。 |
返回值
如果成功, xlate_unpin 内核服务将返回 0。 如果不成功,那么将返回下列其中一项:
| 项 | 描述 |
|---|---|
| EINVAL | 交叉内存描述符或参数无效。 |
| ENOSPC | 无法分配调页空间 ( mmap 段的情况)。 |
| ENOSPC | 调页资源耗尽。 |
| XMEM_FAIL | 页面访问违例。 |