@par Specification Reference:\r
Intel(R) 64 and IA-32 Architectures Software Developer's Manual, Volume 2A,\r
November 2018, CPUID instruction.\r
+ Architecture Specification: Intel(R) Trust Domain Extensions Module, Chap 10.2\r
+ 344425-003US, August 2021\r
\r
**/\r
\r
///\r
UINT32 RDRAND : 1;\r
///\r
- /// [Bit 31] Always returns 0.\r
+ /// [Bit 31] A value of 1 indicates that processor is in Para-Virtualized.\r
///\r
- UINT32 NotUsed : 1;\r
+ UINT32 ParaVirtualized : 1;\r
} Bits;\r
///\r
/// All bit fields as a 32-bit value\r
/// @}\r
///\r
\r
+/**\r
+ CPUID Guest TD Run Time Environment Enumeration Leaf\r
+\r
+ @note\r
+ Guest software can be designed to run either as a TD, as a legacy virtual machine,\r
+ or directly on the CPU, based on enumeration of its run-time environment.\r
+ CPUID leaf 21H emulation is done by the Intel TDX module. Sub-leaf 0 returns the values\r
+ shown below. Other sub-leaves return 0 in EAX/EBX/ECX/EDX.\r
+ EAX: 0x00000000\r
+ EBX: 0x65746E49 "Inte"\r
+ ECX: 0x20202020 " "\r
+ EDX: 0x5844546C "lTDX"\r
+\r
+ @param EAX CPUID_GUESTTD_RUNTIME_ENVIRONMENT (0x21)\r
+ @param ECX Level number\r
+\r
+**/\r
+#define CPUID_GUESTTD_RUNTIME_ENVIRONMENT 0x21\r
+\r
+///\r
+/// @{ CPUID Guest TD signature values returned by Intel processors\r
+///\r
+#define CPUID_GUESTTD_SIGNATURE_GENUINE_INTEL_EBX SIGNATURE_32 ('I', 'n', 't', 'e')\r
+#define CPUID_GUESTTD_SIGNATURE_GENUINE_INTEL_ECX SIGNATURE_32 (' ', ' ', ' ', ' ')\r
+#define CPUID_GUESTTD_SIGNATURE_GENUINE_INTEL_EDX SIGNATURE_32 ('l', 'T', 'D', 'X')\r
+///\r
+/// @}\r
+///\r
+\r
/**\r
CPUID Extended Function\r
\r