as_seth64 内核服务

用途

为指定的虚拟内存对象映射指定的区域。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
#include <sys/adspace.h>

int as_seth64 (addr64,vmhandle)
unsigned long long addr64;
vmhandle_t vmhandle;

参数

描述
addr64 将映射覆盖此输入虚拟内存地址的区域。
vmhandle 描述在地址空间的某个区域内可寻址的虚拟内存对象。

描述

as_seth64 内核服务会映射覆盖输入 addr64 参数的区域。 将取消映射先前在此区域中映射的任何虚拟内存对象。

然后,使用 vmhandle 参数指定的虚拟内存对象将使用句柄中指定的访问许可权进行映射。

仅当需要将虚拟内存对象映射到固定地址时,才应该使用 as_seth64 内核服务。 当在固定地址处映射虚拟内存对象并非绝对必需时,应使用 as_att64 内核服务。

as_seth64 内核服务假定采用固定大小虚拟内存对象的地址空间模型。

对于 32 位和 64 位用户地址空间,此服务都将正常运行。 它也将适用于内核进程 (克普罗克斯)。

注: 此服务仅在当前进程的地址空间上运行。 不允许它在另一个地址空间上运行。

执行环境

as_seth64 内核服务只能从进程环境中进行调用。

返回值

描述
重大安全事件数量 成功完成。
EINVAL 输入地址超出范围。