WRPKRU
将数据写入用户页面 密钥 注册
stableVMJITAOTinstruction
编码
| 操作码 | 指令 | Op/En | 64 位 | 兼容/传统 | 说明 |
|---|---|---|---|---|---|
NP 0F 01 EF | WRPKRU | ZO | 有效 | 有效 | 将 EAX 写入 PKRU 。 |
实测开销
正在从 arch-data 加载实测数据...
说明
将 EAX 的值写入 PKRU 。 ECX和EDX在WRPKRU执行时必须是0;否则,会出现一般保护例外(#GP).
WRPKRU只有在CR4.PKE=1的情况下才能执行;否则,会出现无效的-操作码例外(#UD). 软件可以通过检查CPUID.07H.00H:ECX.OSPKE[4]来发现CR4.PKE的值.
在支持Intel 64 Architecture的处理器上,RCX,RDX和RAX的高序32位被忽略.
WRPKRU永远不会进行投机性执行. 受PKRU登记册影响的内存访问将不会执行(甚至推测),直到所有先前对WRPKRU的处决完成并更新PKRU登记册.
行动
IF (ECX = 0 AND EDX = 0)
THEN PKRU := EAX;
ELSE #GP(0);
FI;受影响的旗帜
None.
C/C++ 编译器内置等效 WRPKRU 空格 wrpkru(init32 t);
异常
保护模式
#GP(0) | 如果 ECX 0. 如果 EDX 0. |
#UD | 如果使用 LOCK 前缀。如果 CR4.PKE = 0. |
实地址模式
| 与保护模式中的例外相同. |
虚拟 8086 模式
| 与保护模式中的例外相同. |
兼容模式
| 与保护模式中的例外相同. |
64 位模式
| 与保护模式中的例外相同. |