hkeyset_add , hkeyset_replace , hkeyset_restore 或 hkeyset_get 内核服务

用途

在内核环境中操作用于代码执行的保护域 (由存储键控制的页面访问)。

语法

#include <sys/skeys.h>
hkeyset_t hkeyset_add ( hkeyset_t 密钥集 );
hkeyset_t hkeyset_replace ( hkeyset_t 密钥集 );
空 hkeyset_restore ( hkeyset_t 密钥集 );
hkeyset_t hkeyset_get ( );

参数

描述
密钥集 要激活的硬件密钥集。

描述

如果启用了存储器保护密钥,那么每个内存页面都有一个与之关联的硬件存储器保护密钥。 密钥集是对一组存储器保护密钥的访问权的表示。 要访问内存页面,包含与该内存页面关联的存储密钥的硬件密钥集必须处于活动状态。

hkeyset_add 内核服务通过将 密钥集 参数指定的硬件密钥集添加到当前可寻址的硬件密钥集来更新保护域。 返回先前的硬件密钥集。

hkeyset_replace 内核服务通过将 密钥集 参数指定的硬件密钥集装入为当前可寻址的存储集来更新保护域。 返回先前的硬件密钥集。

hkeyset_restore 内核服务在从模块入口点返回时复原调用者的硬件密钥集。 它不会返回任何值。

hkeyset_get 内核服务在不更改当前硬件密钥集的情况下读取该密钥集。

执行环境

可以从 流程 环境或 中断 环境中调用 hkeyset_addhkeyset_replacehkeyset_restorehkeyset_get 内核服务。

返回值

hkeyset_addhkeyset_replacehkeyset_get 内核服务会返回在调用之前处于活动状态的 密钥集 值。 hkeyset_restore 内核服务不会返回任何值。