_xabort
Classification
Other, General Support, CPUID Test: RTM
Header File
Instruction
XABORT imm8
Synopsis
_xabort(const unsigned int imm8);
Description
Force an RTM abort. The EAX register is updated to reflect an XABORT instruction caused the abort, and the "imm8" parameter will be provided in bits [31:24] of EAX.
Following an RTM abort, the logical processor resumes execution at the fallback address computed through the outermost XBEGIN instruction.
Operation
IF RTM_ACTIVE == 0
// nop
ELSE
// restore architectural register state
// discard memory updates performed in transaction
// update EAX with status and imm8 value
eax[31:24] := imm8[7:0]
RTM_NEST_COUNT := 0
RTM_ACTIVE := 0
IF _64_BIT_MODE
RIP := fallbackRIP
ELSE
EIP := fallbackEIP
FI
FI