WRPKRU
Escriba datos a la página de usuario clave Registro
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
NP 0F 01 EF | WRPKRU | ZO | Valido | Valido | Escribe EAX en PKRU. |
Coste medido
Cargando las mediciones de arch-data...
Descripción
Escribe el valor de EAX en PKRU. ECX y EDX deben ser 0 cuando WRPKRU es ejecutado; de lo contrario, se produce una excepción de protección general (#GP).
WRPKRU se puede ejecutar sólo si CR4.PKE = 1; de lo contrario, una excepción de código de operación no válido (#UD) ocurre. El software puede descubrir el valor de CR4.PKE examinando CPUID.07H.00H:ECX.OSPKE[4].
En los procesadores que apoyan la Arquitectura Intel 64, se ignoran los 32 bits de alto orden de RCX, RDX y RAX.
WRPKRU nunca ejecutará especulativamente. Los accesos de memoria afectados por el registro PKRU no se ejecutarán (incluso especulativamente) hasta que todas las ejecuciones anteriores de WRPKRU hayan completado la ejecución y actualizado el registro PKRU.
Operación
IF (ECX = 0 AND EDX = 0)
THEN PKRU := EAX;
ELSE #GP(0);
FI;Banderas afectadas
None.
C/C++ Compiler Intrinsic Equivalent WRPKRU void wrpkru(uint32 t);
Excepciones
Modo protegido
#GP(0) | Si ECX 0. Si EDX 0. |
#UD | Si el prefijo LOCK es usado. Si CR4.PKE = 0. |
Modo real
| Las mismas excepciones que en modo protegido. |
Modo virtual-8086
| Las mismas excepciones que en modo protegido. |
Modo de compatibilidad
| Las mismas excepciones que en modo protegido. |
Modo de 64 bits
| Las mismas excepciones que en modo protegido. |