ReactOS 0.4.15-dev-8002-gbbb3b00
MSR_IA32_TME_ACTIVATE_REGISTER Union Reference

#include <ArchitecturalMsr.h>

Collaboration diagram for MSR_IA32_TME_ACTIVATE_REGISTER:

Public Attributes

struct {
   UINT32   Lock: 1
 
   UINT32   TmeEnable: 1
 
   UINT32   KeySelect: 1
 
   UINT32   SaveKeyForStandby: 1
 
   UINT32   TmePolicy: 4
 
   UINT32   Reserved: 23
 
   UINT32   TmeBypassMode: 1
 
   UINT32   MkTmeKeyidBits: 4
 
   UINT32   Reserved2: 12
 
   UINT32   MkTmeCryptoAlgs: 16
 
Bits
 
UINT32 Uint32 [2]
 
UINT64 Uint64
 

Detailed Description

MSR information returned for MSR index MSR_IA32_TME_ACTIVATE

Definition at line 5705 of file ArchitecturalMsr.h.

Member Data Documentation

◆ 

struct { ... } MSR_IA32_TME_ACTIVATE_REGISTER::Bits

Individual bit fields

◆ KeySelect

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::KeySelect

[Bit 2] Key Select: 0: Create a new TME key (expected cold/warm boot). 1: Restore the TME key from storage (Expected when resume from standby).

Definition at line 5725 of file ArchitecturalMsr.h.

◆ Lock

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::Lock

[Bit 0] Lock R/O: Will be set upon successful WRMSR (or first SMI); written value ignored..

Definition at line 5714 of file ArchitecturalMsr.h.

◆ MkTmeCryptoAlgs

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::MkTmeCryptoAlgs

[Bit 63:48] MK_TME_CRYPTO_ALGS: Reserved if MKTME is not enumerated, otherwise: Bit 48: AES-XTS 128. Bit 49: AES-XTS 128 with integrity. Bit 50: AES-XTS 256. Bit 63:51: Reserved (#GP) Bitmask for BIOS to set which encryption algorithms are allowed for MKTME, would be later enforced by the key loading ISA ('1= allowed)

Definition at line 5774 of file ArchitecturalMsr.h.

◆ MkTmeKeyidBits

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::MkTmeKeyidBits

[Bit 35:32] MK_TME_KEYID_BITS: Reserved if MKTME is not enumerated, otherwise: The number of key identifier bits to allocate to MKTME usage. Similar to enumeration, this is an encoded value. Writing a value greater than MK_TME_MAX_KEYID_BITS will result in #GP. Writing a non-zero value to this field will #GP if bit 1 of EAX (Hardware Encryption Enable) is not also set to ‘1, as encryption hardware must be enabled to use MKTME. Example: To support 255 keys, this field would be set to a value of 8.

Definition at line 5763 of file ArchitecturalMsr.h.

◆ Reserved

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::Reserved

Definition at line 5742 of file ArchitecturalMsr.h.

◆ Reserved2

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::Reserved2

Definition at line 5764 of file ArchitecturalMsr.h.

◆ SaveKeyForStandby

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::SaveKeyForStandby

[Bit 3] Save TME Key for Standby: Save key into storage to be used when resume from standby. Note: This may not be supported in all processors.

Definition at line 5731 of file ArchitecturalMsr.h.

◆ TmeBypassMode

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::TmeBypassMode

[Bit 31] TME Encryption Bypass Enable: When encryption hardware is enabled:

  • Total Memory Encryption is enabled using a CPU generated ephemeral key based on a hardware random number generator when this bit is set to 0.
  • Total Memory Encryption is bypassed (no encryption/decryption for KeyID0) when this bit is set to 1. Software must inspect Hardware Encryption Enable (bit 1) and TME encryption bypass Enable (bit 31) to determine if TME encryption is enabled.

Definition at line 5752 of file ArchitecturalMsr.h.

◆ TmeEnable

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::TmeEnable

[Bit 1] Hardware Encryption Enable: This bit also enables MKTME; MKTME cannot be enabled without enabling encryption hardware.

Definition at line 5719 of file ArchitecturalMsr.h.

◆ TmePolicy

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::TmePolicy

[Bit 7:4] TME Policy/Encryption Algorithm: Only algorithms enumerated in IA32_TME_CAPABILITY are allowed. For example: 0000 – AES-XTS-128. 0001 – AES-XTS-128 with integrity. 0010 – AES-XTS-256. Other values are invalid.

Definition at line 5741 of file ArchitecturalMsr.h.

◆ Uint32

UINT32 MSR_IA32_TME_ACTIVATE_REGISTER::Uint32[2]

All bit fields as a 32-bit value

Definition at line 5779 of file ArchitecturalMsr.h.

◆ Uint64

UINT64 MSR_IA32_TME_ACTIVATE_REGISTER::Uint64

All bit fields as a 64-bit value

Definition at line 5783 of file ArchitecturalMsr.h.


The documentation for this union was generated from the following file: