41-70 Vol. 3D
SGX INSTRUCTION REFERENCES
Concurrency Restrictions
Operation
Temp Variables in EACCEPTCOPY Operational Flow
IF (DS:RBX is not 64Byte Aligned)
THEN #GP(0); FI;
IF ( (DS:RCX is not 4KByte Aligned) or (DS:RDX is not 4KByte Aligned) )
THEN #GP(0); FI;
IF ((DS:RBX is not within CR_ELRANGE) or (DS:RCX is not within CR_ELRANGE) or (DS:RDX is not within CR_ELRANGE))
THEN #GP(0); FI;
IF (DS:RBX does not resolve within an EPC)
THEN #PF(DS:RBX); FI;
IF (DS:RCX does not resolve within an EPC)
THEN #PF(DS:RCX); FI;
IF (DS:RDX does not resolve within an EPC)
THEN #PF(DS:RDX); FI;
IF ( (EPCM(DS:RBX &~FFFH).VALID = 0) or (EPCM(DS:RBX &~FFFH).R = 0) or (EPCM(DS:RBX &~FFFH).PENDING ≠ 0) or
(EPCM(DS:RBX &~FFFH).MODIFIED ≠ 0) or (EPCM(DS:RBX &~FFFH).BLOCKED ≠ 0) or (EPCM(DS:RBX &~FFFH).PT ≠ PT_REG) or
(EPCM(DS:RBX &~FFFH).ENCLAVESECS ≠ CR_ACTIVE_SECS) or
(EPCM(DS:RBX &~FFFH).ENCLAVEADDRESS ≠ DS:RBX) )
THEN #PF(DS:RBX); FI;
Table 41-50. Concurrency Restrictions of EACCEPTCOPY with Intel® SGX Instructions - 1of 2
Operation
EEXIT
EADD
EBLOCK
ECRE
ATE
EDBGRD/
WR
EENTER/
ERESUME
EEXTEND
EGETKEY
EINIT
ELDB/ELDU
EPA
Param Targ VA
SECS Targ SECS Targ SECS SECS
Targ SECS TCS SSA SECS Targ SECS Param SECS SECS Targ VA
SECS VA
EACCE
PTCOP
Y
Targ
Src
U
Y
U
Y
SECIN
FO
U
Y
U
U
Table 41-51. Concurrency Restrictions of EACCEPTCOPY with Intel® SGX Instructions - 2 of 2
Operation
EREMOVE
EREPORT
ETRA
CK
EWB
EAUG
EMODPE
EMODPR
EMODT
EACCEPT
EACCEPTCOPY
Param Targ SECS Param SECS SECS
SRC VA
SECS Targ SECS Targ SECI
NFO
Targ SECS Targ SECS Targ SECI
NFO
SECS Targ SRC SECI
NFO
EACCE
PTCOP
Y
Targ
N
N
N
N
Src
Y
Y
Y
Y
U
Y
Y
SECIN
FO
U
Y
Y
Y
Y
Y
Y
Name
Type
Size (bits)
Description
SCRATCH_SECINFO
SECINFO
512
Scratch storage for holding the contents of DS:RBX.