- @param EAX CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION (0x1F)\r
- @param ECX CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_MAIN_LEAF (0x0)\r
-\r
-**/\r
-#define CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION 0x1F\r
-\r
-/**\r
- CPUID V2 Extended Topology Enumeration Leaf\r
-\r
- @param EAX CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION (0x1F)\r
- @param ECX CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_MAIN_LEAF (0x00)\r
-\r
- @retval EAX Returns V2 Extended Topology Enumeration Leaf described by\r
- the type CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EAX.\r
- @retval EBX Returns V2 Extended Topology Enumeration Leaf described by\r
- the type CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EBX.\r
- @retval ECX Returns V2 Extended Topology Enumeration Leaf described by\r
- the type CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_ECX.\r
- @retval EDX Returns x2APIC ID the current logical processor.\r
-\r
- <b>Example usage</b>\r
- @code\r
- CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EAX Eax;\r
- CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EBX Ebx;\r
- CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_ECX Ecx;\r
- UINT32 Edx;\r
-\r
- AsmCpuidEx (\r
- CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION,\r
- CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_MAIN_LEAF,\r
- &Eax.Uint32, &Ebx.Uint32, &Ecx.Uint32, &Edx\r
- );\r
- @endcode\r
-**/\r
-#define CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_MAIN_LEAF 0x00\r
-\r
-/**\r
- CPUID V2 Extended Topology Enumeration Leaf EAX for CPUID leafs.\r
-**/\r
-typedef union {\r
- ///\r
- /// Individual bit fields\r
- ///\r
- struct {\r
- ///\r
- /// [Bits 4:0] Number of bits to shift right on x2APIC ID to get a unique\r
- /// topology ID of the next level type. All logical processors with the\r
- /// same next level ID share current level.\r
- ///\r
- UINT32 BitsNum:5;\r
- ///\r
- /// [Bits 31:5] Reserved.\r
- ///\r
- UINT32 Reserved:27;\r
- } Bits;\r
- ///\r
- /// All bit fields as a 32-bit value\r
- ///\r
- UINT32 Uint32;\r
-} CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EAX;\r
-\r
-/**\r
- CPUID V2 Extended Topology Enumeration Leaf EBX for CPUID leafs.\r
-**/\r
-typedef union {\r
- ///\r
- /// Individual bit fields\r
- ///\r
- struct {\r
- ///\r
- /// [Bits 15:0] Number of logical processors at this level type. The number\r
- /// reflects configuration as shipped by Intel.\r
- ///\r
- UINT32 ProcessorsNum:16;\r
- ///\r
- /// [Bits 31:5] Reserved.\r
- ///\r
- UINT32 Reserved:16;\r
- } Bits;\r
- ///\r
- /// All bit fields as a 32-bit value\r
- ///\r
- UINT32 Uint32;\r
-} CPUID_V2_EXTENDED_TOPOLOGY_ENUMERATION_EBX;\r