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 页面访问违例。