xmemunpin 内核服务

用途

取消锁定用户或系统内存中指定的地址范围。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/uio.h>
int xmemunpin ( base,  len,  xd)
caddr_t base;
int len;
struct xmem *xd;

参数

描述
基本 指定要取消置顶的第一个字节的地址。
len 指示要取消置顶的字节数。
Xd 指定跨存储器描述符。

描述

克梅蒙平 内核服务将取消锁定内存区域。 当 pin 计数 0 0 时,页面不会被置顶,并且可以从实内存中调页。 找到未置顶的页面时, 克梅蒙平 内核服务会返回 EINVAL 错误代码,并使所有剩余置顶页面仍置顶。

如果地址空间可能位于用户空间或内核空间中,那么应使用 克梅蒙平 服务。

交叉内存描述符必须在 克斯门潘 调用之前已正确填充 (例如,通过调用 克马塔赫 内核服务来填充)。

执行环境

在取消锁定用户空间或系统空间中的数据时,可以在进程环境中调用 克梅蒙平 内核服务。 仅当取消锁定系统空间中的数据时,才可以在中断环境中调用此参数。

返回值

描述
重大安全事件数量 指示成功完成。
EFAULT 指示由 参数指定的内存区域不在由 Xd 参数指定的地址内。
EINVAL 表示长度参数的值为负数或 0。 否则,未定义从 参数指定的字节开始,并针对 参数指定的字节数进行扩展的内存区域。 如果这两个原因都不负责,那么指定了未置顶的页面。