background image

CPUID—CPU Identification

INSTRUCTION SET REFERENCE, A-L

3-198 Vol. 2A

EDX

Bit 07 - 00: MaxEnclaveSize_Not64. The maximum supported enclave size in non-64-bit mode is 

2^(EDX[7:0]).

Bit 15 - 08: MaxEnclaveSize_64. The maximum supported enclave size in 64-bit mode is 2^(EDX[15:8]).

Bits 31 - 16: Reserved.

Intel SGX Attributes Enumeration Leaf, sub-leaf 1 (EAX = 12H, ECX = 1)

12H

NOTES:

Leaf 12H sub-leaf 1 (ECX = 1) is supported if CPUID.(EAX=07H, ECX=0H):EBX[SGX] = 1. 

EAX

Bit 31 - 00: Reports the valid bits of SECS.ATTRIBUTES[31:0] that software can set with ECREATE.

EBX

Bit 31 - 00: Reports the valid bits of SECS.ATTRIBUTES[63:32] that software can set with ECREATE.

ECX

Bit 31 - 00: Reports the valid bits of SECS.ATTRIBUTES[95:64] that software can set with ECREATE.

EDX

Bit 31 - 00: Reports the valid bits of SECS.ATTRIBUTES[127:96] that software can set with ECREATE.

Intel SGX EPC Enumeration Leaf, sub-leaves (EAX = 12H, ECX = 2 or higher)

12H

NOTES:

Leaf 12H sub-leaf 2 or higher (ECX >= 2) is supported if CPUID.(EAX=07H, ECX=0H):EBX[SGX] = 1. 
For sub-leaves (ECX = 2 or higher), definition of EDX,ECX,EBX,EAX[31:4] depends on the sub-leaf type

listed below. 

EAX

Bit 03 - 00: Sub-leaf Type

0000b: Indicates this sub-leaf is invalid. 

0001b: This sub-leaf enumerates an EPC section. EBX:EAX and EDX:ECX provide information on the 

Enclave Page Cache (EPC) section.

All other type encodings are reserved.

Type

0000b. This sub-leaf is invalid. 

EDX:ECX:EBX:EAX return 0.

Type

0001b. This sub-leaf enumerates an EPC sections with EDX:ECX, EBX:EAX defined as follows. 

EAX[11:04]: Reserved (enumerate 0). 

EAX[31:12]: Bits 31:12 of the physical address of the base of the EPC section. 

EBX[19:00]: Bits 51:32 of the physical address of the base of the EPC section. 

EBX[31:20]: Reserved.

ECX[03:00]: EPC section property encoding defined as follows: 

If EAX[3:0] 0000b, then all bits of the EDX:ECX pair are enumerated as 0.

If EAX[3:0] 0001b, then this section has confidentiality and integrity protection.

All other encodings are reserved.

ECX[11:04]: Reserved (enumerate 0). 

ECX[31:12]: Bits 31:12 of the size of the corresponding EPC section within the Processor Reserved 

Memory.

EDX[19:00]: Bits 51:32 of the size of the corresponding EPC section within the Processor Reserved 

Memory. 

EDX[31:20]: Reserved.

Table 3-8.  Information Returned by CPUID Instruction (Contd.)

Initial EAX 

Value

Information Provided about the Processor