On 2018-11-07 02:17, Andy Lutomirski wrote: > On Tue, Nov 6, 2018 at 4:02 PM Sean Christopherson > wrote: >> >> /* >> * EEXIT or EENTER faulted. In the latter case, %RAX already holds some >> * fault indicator, e.g. -EFAULT. >> */ >> eexit_or_eenter_fault: >> ret > > But userspace wants to know whether it was a fault or not. So I think > we either need two landing pads or we need to hijack a flag bit (are > there any known-zeroed flag bits after EEXIT?) to say whether it was a > fault. And, if it was a fault, we should give the vector, the > sanitized error code, and possibly CR2. On AEX, %rax will contain ENCLU_LEAF_ERESUME (0x3). On EEXIT, %rax will contain ENCLU_LEAF_EEXIT (0x4). -- Jethro Beekman | Fortanix