mirror of https://github.com/acidanthera/audk.git
UefiCpuPkg: Add CPUID definitions for AMD.
Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Jeff Fan <jeff.fan@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leo Duran <leo.duran@amd.com> Reviewed-by: Jeff Fan <jeff.fan@intel.com>
This commit is contained in:
parent
b15cbd9c2d
commit
890d2bd287
|
@ -7,6 +7,7 @@
|
|||
not provided for that register.
|
||||
|
||||
Copyright (c) 2017, Advanced Micro Devices. All rights reserved.<BR>
|
||||
|
||||
This program and the accompanying materials are licensed and made available
|
||||
under the terms and conditions of the BSD License which accompanies this
|
||||
distribution. The full text of the license may be found at
|
||||
|
@ -24,8 +25,587 @@
|
|||
#define __AMD_CPUID_H__
|
||||
|
||||
/**
|
||||
CPUID Signature Information
|
||||
|
||||
Memory Encryption Information
|
||||
@param EAX CPUID_SIGNATURE (0x00)
|
||||
|
||||
@retval EAX Returns the highest value the CPUID instruction recognizes for
|
||||
returning basic processor information. The value is returned is
|
||||
processor specific.
|
||||
@retval EBX First 4 characters of a vendor identification string.
|
||||
@retval ECX Last 4 characters of a vendor identification string.
|
||||
@retval EDX Middle 4 characters of a vendor identification string.
|
||||
|
||||
**/
|
||||
|
||||
///
|
||||
/// @{ CPUID signature values returned by AMD processors
|
||||
///
|
||||
#define CPUID_SIGNATURE_AUTHENTIC_AMD_EBX SIGNATURE_32 ('A', 'u', 't', 'h')
|
||||
#define CPUID_SIGNATURE_AUTHENTIC_AMD_EDX SIGNATURE_32 ('e', 'n', 't', 'i')
|
||||
#define CPUID_SIGNATURE_AUTHENTIC_AMD_ECX SIGNATURE_32 ('c', 'A', 'M', 'D')
|
||||
///
|
||||
/// @}
|
||||
///
|
||||
|
||||
|
||||
/**
|
||||
CPUID Extended Processor Signature and Features
|
||||
|
||||
@param EAX CPUID_EXTENDED_CPU_SIG (0x80000001)
|
||||
|
||||
@retval EAX Extended Family, Model, Stepping Identifiers
|
||||
described by the type CPUID_AMD_EXTENDED_CPU_SIG_EAX.
|
||||
@retval EBX Brand Identifier
|
||||
described by the type CPUID_AMD_EXTENDED_CPU_SIG_EBX.
|
||||
@retval ECX Extended Feature Identifiers
|
||||
described by the type CPUID_AMD_EXTENDED_CPU_SIG_ECX.
|
||||
@retval EDX Extended Feature Identifiers
|
||||
described by the type CPUID_AMD_EXTENDED_CPU_SIG_EDX.
|
||||
**/
|
||||
|
||||
/**
|
||||
CPUID Extended Processor Signature and Features EAX for CPUID leaf
|
||||
#CPUID_EXTENDED_CPU_SIG.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 3:0] Stepping.
|
||||
///
|
||||
UINT32 Stepping:4;
|
||||
///
|
||||
/// [Bits 7:4] Base Model.
|
||||
///
|
||||
UINT32 BaseModel:4;
|
||||
///
|
||||
/// [Bits 11:8] Base Family.
|
||||
///
|
||||
UINT32 BaseFamily:4;
|
||||
///
|
||||
/// [Bit 15:12] Reserved.
|
||||
///
|
||||
UINT32 Reserved1:4;
|
||||
///
|
||||
/// [Bits 19:16] Extended Model.
|
||||
///
|
||||
UINT32 ExtModel:4;
|
||||
///
|
||||
/// [Bits 27:20] Extended Family.
|
||||
///
|
||||
UINT32 ExtFamily:8;
|
||||
///
|
||||
/// [Bit 31:28] Reserved.
|
||||
///
|
||||
UINT32 Reserved2:4;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_EXTENDED_CPU_SIG_EAX;
|
||||
|
||||
/**
|
||||
CPUID Extended Processor Signature and Features EBX for CPUID leaf
|
||||
#CPUID_EXTENDED_CPU_SIG.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 27:0] Reserved.
|
||||
///
|
||||
UINT32 Reserved:28;
|
||||
///
|
||||
/// [Bit 31:28] Package Type.
|
||||
///
|
||||
UINT32 PkgType:4;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_EXTENDED_CPU_SIG_EBX;
|
||||
|
||||
/**
|
||||
CPUID Extended Processor Signature and Features ECX for CPUID leaf
|
||||
#CPUID_EXTENDED_CPU_SIG.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 0] LAHF/SAHF available in 64-bit mode.
|
||||
///
|
||||
UINT32 LAHF_SAHF:1;
|
||||
///
|
||||
/// [Bit 1] Core multi-processing legacy mode.
|
||||
///
|
||||
UINT32 CmpLegacy:1;
|
||||
///
|
||||
/// [Bit 2] Secure Virtual Mode feature.
|
||||
///
|
||||
UINT32 SVM:1;
|
||||
///
|
||||
/// [Bit 3] Extended APIC register space.
|
||||
///
|
||||
UINT32 ExtApicSpace:1;
|
||||
///
|
||||
/// [Bit 4] LOCK MOV CR0 means MOV CR8.
|
||||
///
|
||||
UINT32 AltMovCr8:1;
|
||||
///
|
||||
/// [Bit 5] LZCNT instruction support.
|
||||
///
|
||||
UINT32 LZCNT:1;
|
||||
///
|
||||
/// [Bit 6] SSE4A instruction support.
|
||||
///
|
||||
UINT32 SSE4A:1;
|
||||
///
|
||||
/// [Bit 7] Misaligned SSE Mode.
|
||||
///
|
||||
UINT32 MisAlignSse:1;
|
||||
///
|
||||
/// [Bit 8] ThreeDNow Prefetch instructions.
|
||||
///
|
||||
UINT32 PREFETCHW:1;
|
||||
///
|
||||
/// [Bit 9] OS Visible Work-around support.
|
||||
///
|
||||
UINT32 OSVW:1;
|
||||
///
|
||||
/// [Bit 10] Instruction Based Sampling.
|
||||
///
|
||||
UINT32 IBS:1;
|
||||
///
|
||||
/// [Bit 11] Extended Operation Support.
|
||||
///
|
||||
UINT32 XOP:1;
|
||||
///
|
||||
/// [Bit 12] SKINIT and STGI support.
|
||||
///
|
||||
UINT32 SKINIT:1;
|
||||
///
|
||||
/// [Bit 13] Watchdog Timer support.
|
||||
///
|
||||
UINT32 WDT:1;
|
||||
///
|
||||
/// [Bit 14] Reserved.
|
||||
///
|
||||
UINT32 Reserved1:1;
|
||||
///
|
||||
/// [Bit 15] Lightweight Profiling support.
|
||||
///
|
||||
UINT32 LWP:1;
|
||||
///
|
||||
/// [Bit 16] 4-Operand FMA instruction support.
|
||||
///
|
||||
UINT32 FMA4:1;
|
||||
///
|
||||
/// [Bit 17] Translation Cache Extension.
|
||||
///
|
||||
UINT32 TCE:1;
|
||||
///
|
||||
/// [Bit 21:18] Reserved.
|
||||
///
|
||||
UINT32 Reserved2:4;
|
||||
///
|
||||
/// [Bit 22] Topology Extensions support.
|
||||
///
|
||||
UINT32 TopologyExtensions:1;
|
||||
///
|
||||
/// [Bit 23] Core Performance Counter Extensions.
|
||||
///
|
||||
UINT32 PerfCtrExtCore:1;
|
||||
///
|
||||
/// [Bit 25:24] Reserved.
|
||||
///
|
||||
UINT32 Reserved3:2;
|
||||
///
|
||||
/// [Bit 26] Data Breakpoint Extension.
|
||||
///
|
||||
UINT32 DataBreakpointExtension:1;
|
||||
///
|
||||
/// [Bit 27] Performance Time-Stamp Counter.
|
||||
///
|
||||
UINT32 PerfTsc:1;
|
||||
///
|
||||
/// [Bit 28] L3 Performance Counter Extensions.
|
||||
///
|
||||
UINT32 PerfCtrExtL3:1;
|
||||
///
|
||||
/// [Bit 29] MWAITX and MONITORX capability.
|
||||
///
|
||||
UINT32 MwaitExtended:1;
|
||||
///
|
||||
/// [Bit 31:30] Reserved.
|
||||
///
|
||||
UINT32 Reserved4:2;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_EXTENDED_CPU_SIG_ECX;
|
||||
|
||||
/**
|
||||
CPUID Extended Processor Signature and Features EDX for CPUID leaf
|
||||
#CPUID_EXTENDED_CPU_SIG.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 0] x87 floating point unit on-chip.
|
||||
///
|
||||
UINT32 FPU:1;
|
||||
///
|
||||
/// [Bit 1] Virtual-mode enhancements.
|
||||
///
|
||||
UINT32 VME:1;
|
||||
///
|
||||
/// [Bit 2] Debugging extensions, IO breakpoints, CR4.DE.
|
||||
///
|
||||
UINT32 DE:1;
|
||||
///
|
||||
/// [Bit 3] Page-size extensions (4 MB pages).
|
||||
///
|
||||
UINT32 PSE:1;
|
||||
///
|
||||
/// [Bit 4] Time stamp counter, RDTSC/RDTSCP instructions, CR4.TSD.
|
||||
///
|
||||
UINT32 TSC:1;
|
||||
///
|
||||
/// [Bit 5] MSRs, with RDMSR and WRMSR instructions.
|
||||
///
|
||||
UINT32 MSR:1;
|
||||
///
|
||||
/// [Bit 6] Physical-address extensions (PAE).
|
||||
///
|
||||
UINT32 PAE:1;
|
||||
///
|
||||
/// [Bit 7] Machine check exception, CR4.MCE.
|
||||
///
|
||||
UINT32 MCE:1;
|
||||
///
|
||||
/// [Bit 8] CMPXCHG8B instruction.
|
||||
///
|
||||
UINT32 CMPXCHG8B:1;
|
||||
///
|
||||
/// [Bit 9] APIC exists and is enabled.
|
||||
///
|
||||
UINT32 APIC:1;
|
||||
///
|
||||
/// [Bit 10] Reserved.
|
||||
///
|
||||
UINT32 Reserved1:1;
|
||||
///
|
||||
/// [Bit 11] SYSCALL and SYSRET instructions.
|
||||
///
|
||||
UINT32 SYSCALL_SYSRET:1;
|
||||
///
|
||||
/// [Bit 12] Memory-type range registers.
|
||||
///
|
||||
UINT32 MTRR:1;
|
||||
///
|
||||
/// [Bit 13] Page global extension, CR4.PGE.
|
||||
///
|
||||
UINT32 PGE:1;
|
||||
///
|
||||
/// [Bit 14] Machine check architecture, MCG_CAP.
|
||||
///
|
||||
UINT32 MCA:1;
|
||||
///
|
||||
/// [Bit 15] Conditional move instructions, CMOV, FCOMI, FCMOV.
|
||||
///
|
||||
UINT32 CMOV:1;
|
||||
///
|
||||
/// [Bit 16] Page attribute table.
|
||||
///
|
||||
UINT32 PAT:1;
|
||||
///
|
||||
/// [Bit 17] Page-size extensions.
|
||||
///
|
||||
UINT32 PSE36 : 1;
|
||||
///
|
||||
/// [Bit 19:18] Reserved.
|
||||
///
|
||||
UINT32 Reserved2:2;
|
||||
///
|
||||
/// [Bit 20] No-execute page protection.
|
||||
///
|
||||
UINT32 NX:1;
|
||||
///
|
||||
/// [Bit 21] Reserved.
|
||||
///
|
||||
UINT32 Reserved3:1;
|
||||
///
|
||||
/// [Bit 22] AMD Extensions to MMX instructions.
|
||||
///
|
||||
UINT32 MmxExt:1;
|
||||
///
|
||||
/// [Bit 23] MMX instructions.
|
||||
///
|
||||
UINT32 MMX:1;
|
||||
///
|
||||
/// [Bit 24] FXSAVE and FXRSTOR instructions.
|
||||
///
|
||||
UINT32 FFSR:1;
|
||||
///
|
||||
/// [Bit 25] FXSAVE and FXRSTOR instruction optimizations.
|
||||
///
|
||||
UINT32 FFXSR:1;
|
||||
///
|
||||
/// [Bit 26] 1-GByte large page support.
|
||||
///
|
||||
UINT32 Page1GB:1;
|
||||
///
|
||||
/// [Bit 27] RDTSCP intructions.
|
||||
///
|
||||
UINT32 RDTSCP:1;
|
||||
///
|
||||
/// [Bit 28] Reserved.
|
||||
///
|
||||
UINT32 Reserved4:1;
|
||||
///
|
||||
/// [Bit 29] Long Mode.
|
||||
///
|
||||
UINT32 LM:1;
|
||||
///
|
||||
/// [Bit 30] 3DNow! instructions.
|
||||
///
|
||||
UINT32 ThreeDNow:1;
|
||||
///
|
||||
/// [Bit 31] AMD Extensions to 3DNow! instructions.
|
||||
///
|
||||
UINT32 ThreeDNowExt:1;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_EXTENDED_CPU_SIG_EDX;
|
||||
|
||||
|
||||
/**
|
||||
CPUID Linear Physical Address Size
|
||||
|
||||
@param EAX CPUID_VIR_PHY_ADDRESS_SIZE (0x80000008)
|
||||
|
||||
@retval EAX Linear/Physical Address Size described by the type
|
||||
CPUID_AMD_VIR_PHY_ADDRESS_SIZE_EAX.
|
||||
@retval EBX Linear/Physical Address Size described by the type
|
||||
CPUID_AMD_VIR_PHY_ADDRESS_SIZE_EBX.
|
||||
@retval ECX Linear/Physical Address Size described by the type
|
||||
CPUID_AMD_VIR_PHY_ADDRESS_SIZE_ECX.
|
||||
@retval EDX Reserved.
|
||||
**/
|
||||
|
||||
/**
|
||||
CPUID Linear Physical Address Size EAX for CPUID leaf
|
||||
#CPUID_VIR_PHY_ADDRESS_SIZE.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 7:0] Maximum physical byte address size in bits.
|
||||
///
|
||||
UINT32 PhysicalAddressBits:8;
|
||||
///
|
||||
/// [Bits 15:8] Maximum linear byte address size in bits.
|
||||
///
|
||||
UINT32 LinearAddressBits:8;
|
||||
///
|
||||
/// [Bits 23:16] Maximum guest physical byte address size in bits.
|
||||
///
|
||||
UINT32 GuestPhysAddrSize:8;
|
||||
///
|
||||
/// [Bit 31:24] Reserved.
|
||||
///
|
||||
UINT32 Reserved:8;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_VIR_PHY_ADDRESS_SIZE_EAX;
|
||||
|
||||
/**
|
||||
CPUID Linear Physical Address Size EBX for CPUID leaf
|
||||
#CPUID_VIR_PHY_ADDRESS_SIZE.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 0] Clear Zero Instruction.
|
||||
///
|
||||
UINT32 CLZERO:1;
|
||||
///
|
||||
/// [Bits 1] Instructions retired count support.
|
||||
///
|
||||
UINT32 IRPerf:1;
|
||||
///
|
||||
/// [Bits 2] Restore error pointers for XSave instructions.
|
||||
///
|
||||
UINT32 XSaveErPtr:1;
|
||||
///
|
||||
/// [Bit 31:3] Reserved.
|
||||
///
|
||||
UINT32 Reserved:29;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_VIR_PHY_ADDRESS_SIZE_EBX;
|
||||
|
||||
/**
|
||||
CPUID Linear Physical Address Size ECX for CPUID leaf
|
||||
#CPUID_VIR_PHY_ADDRESS_SIZE.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 7:0] Number of threads - 1.
|
||||
///
|
||||
UINT32 NC:8;
|
||||
///
|
||||
/// [Bit 11:8] Reserved.
|
||||
///
|
||||
UINT32 Reserved1:4;
|
||||
///
|
||||
/// [Bits 15:12] APIC ID size.
|
||||
///
|
||||
UINT32 ApicIdCoreIdSize:4;
|
||||
///
|
||||
/// [Bits 17:16] Performance time-stamp counter size.
|
||||
///
|
||||
UINT32 PerfTscSize:2;
|
||||
///
|
||||
/// [Bit 31:18] Reserved.
|
||||
///
|
||||
UINT32 Reserved2:14;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_VIR_PHY_ADDRESS_SIZE_ECX;
|
||||
|
||||
|
||||
/**
|
||||
CPUID AMD Processor Topology
|
||||
|
||||
@param EAX CPUID_AMD_PROCESSOR_TOPOLOGY (0x8000001E)
|
||||
|
||||
@retval EAX Extended APIC ID described by the type
|
||||
CPUID_AMD_PROCESSOR_TOPOLOGY_EAX.
|
||||
@retval EBX Core Indentifiers described by the type
|
||||
CPUID_AMD_PROCESSOR_TOPOLOGY_EBX.
|
||||
@retval ECX Node Indentifiers described by the type
|
||||
CPUID_AMD_PROCESSOR_TOPOLOGY_ECX.
|
||||
@retval EDX Reserved.
|
||||
**/
|
||||
#define CPUID_AMD_PROCESSOR_TOPOLOGY 0x8000001E
|
||||
|
||||
/**
|
||||
CPUID AMD Processor Topology EAX for CPUID leaf
|
||||
#CPUID_AMD_PROCESSOR_TOPOLOGY.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 31:0] Extended APIC Id.
|
||||
///
|
||||
UINT32 ExtendedApicId;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_PROCESSOR_TOPOLOGY_EAX;
|
||||
|
||||
/**
|
||||
CPUID AMD Processor Topology EBX for CPUID leaf
|
||||
#CPUID_AMD_PROCESSOR_TOPOLOGY.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 7:0] Core Id.
|
||||
///
|
||||
UINT32 CoreId:8;
|
||||
///
|
||||
/// [Bits 15:8] Threads per core.
|
||||
///
|
||||
UINT32 ThreadsPerCore:8;
|
||||
///
|
||||
/// [Bit 31:16] Reserved.
|
||||
///
|
||||
UINT32 Reserved:16;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_PROCESSOR_TOPOLOGY_EBX;
|
||||
|
||||
/**
|
||||
CPUID AMD Processor Topology ECX for CPUID leaf
|
||||
#CPUID_AMD_PROCESSOR_TOPOLOGY.
|
||||
**/
|
||||
typedef union {
|
||||
///
|
||||
/// Individual bit fields
|
||||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bits 7:0] Node Id.
|
||||
///
|
||||
UINT32 NodeId:8;
|
||||
///
|
||||
/// [Bits 10:8] Nodes per processor.
|
||||
///
|
||||
UINT32 NodesPerProcessor:3;
|
||||
///
|
||||
/// [Bit 31:11] Reserved.
|
||||
///
|
||||
UINT32 Reserved:21;
|
||||
} Bits;
|
||||
///
|
||||
/// All bit fields as a 32-bit value
|
||||
///
|
||||
UINT32 Uint32;
|
||||
} CPUID_AMD_PROCESSOR_TOPOLOGY_ECX;
|
||||
|
||||
|
||||
/**
|
||||
CPUID Memory Encryption Information
|
||||
|
||||
@param EAX CPUID_MEMORY_ENCRYPTION_INFO (0x8000001F)
|
||||
|
||||
|
@ -33,8 +613,8 @@
|
|||
@retval EBX If memory encryption feature is present then return
|
||||
the page table bit number used to enable memory encryption support
|
||||
and reducing of physical address space in bits.
|
||||
@retval ECX Returns number of encrypted guest supported simultaneosuly.
|
||||
@retval EDX Returns minimum SEV enabled and SEV disbled ASID..
|
||||
@retval ECX Returns number of encrypted guest supported simultaneously.
|
||||
@retval EDX Returns minimum SEV enabled and SEV disabled ASID.
|
||||
|
||||
<b>Example usage</b>
|
||||
@code
|
||||
|
@ -79,7 +659,7 @@ typedef union {
|
|||
UINT32 SevEsBit:1;
|
||||
|
||||
///
|
||||
/// [Bit 4:31] Reserved
|
||||
/// [Bit 31:4] Reserved
|
||||
///
|
||||
UINT32 ReservedBits:28;
|
||||
} Bits;
|
||||
|
@ -99,17 +679,18 @@ typedef union {
|
|||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 0:5] Page table bit number used to enable memory encryption
|
||||
/// [Bit 5:0] Page table bit number used to enable memory encryption
|
||||
///
|
||||
UINT32 PtePosBits:6;
|
||||
|
||||
///
|
||||
/// [Bit 6:11] Reduction of system physical address space bits when memory encryption is enabled
|
||||
/// [Bit 11:6] Reduction of system physical address space bits when
|
||||
/// memory encryption is enabled
|
||||
///
|
||||
UINT32 ReducedPhysBits:5;
|
||||
|
||||
///
|
||||
/// [Bit 12:31] Reserved
|
||||
/// [Bit 31:12] Reserved
|
||||
///
|
||||
UINT32 ReservedBits:21;
|
||||
} Bits;
|
||||
|
@ -129,7 +710,7 @@ typedef union {
|
|||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 0:31] Number of encrypted guest supported simultaneously
|
||||
/// [Bit 31:0] Number of encrypted guest supported simultaneously
|
||||
///
|
||||
UINT32 NumGuests;
|
||||
} Bits;
|
||||
|
@ -149,7 +730,7 @@ typedef union {
|
|||
///
|
||||
struct {
|
||||
///
|
||||
/// [Bit 0:31] Minimum SEV enabled, SEV-ES disabled ASID
|
||||
/// [Bit 31:0] Minimum SEV enabled, SEV-ES disabled ASID
|
||||
///
|
||||
UINT32 MinAsid;
|
||||
} Bits;
|
||||
|
|
Loading…
Reference in New Issue