Open Enclave
0.17.0
|
This file defines data structures to set up vectored exception handlers in the enclave. More...
Go to the source code of this file.
Data Structures | |
struct | _oe_basic_xstate |
Blob that contains X87 and SSE data. More... | |
struct | _oe_context |
Register state to be saved before an exception and restored after the exception has been handled in the enclave. More... | |
struct | _oe_exception_record |
Exception context structure with the exception code, flags, address and calling context of the exception. More... | |
Macros | |
#define | OE_EXCEPTION_CONTINUE_SEARCH 0x0 |
Return value used by an enclave vectored exception handler to indicate to the dispatcher that it should continue searching for the next handler. More... | |
#define | OE_EXCEPTION_CONTINUE_EXECUTION 0xFFFFFFFF |
Return value used by an enclave vectored exception handler to indicate to the dispatcher that it should stop searching and continue execution. More... | |
#define | OE_EXCEPTION_DIVIDE_BY_ZERO 0x0 |
Divider exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_BREAKPOINT 0x1 |
Debug exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_BOUND_OUT_OF_RANGE 0x2 |
Bound range exceeded exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_ILLEGAL_INSTRUCTION 0x3 |
Illegal instruction exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_ACCESS_VIOLATION 0x4 |
Access violation exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_PAGE_FAULT 0x5 |
Page fault exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_X87_FLOAT_POINT 0x6 |
x87 floating point exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_MISALIGNMENT 0x7 |
Alignment check exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_SIMD_FLOAT_POINT 0x8 |
SIMD floating point exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_UNKNOWN 0xFFFFFFFF |
Unknown exception code, used by vectored exception handler. | |
#define | OE_EXCEPTION_FLAGS_HARDWARE 0x1 |
Hardware exception flag, set when enclave software exited due to hardware exception. | |
#define | OE_EXCEPTION_FLAGS_SOFTWARE 0x2 |
Software exception flag, set when enclave software exited due to software exception. | |
#define | OE_SGX_PAGE_FAULT_P_FLAG 0x1 |
The following flags are used to interpret the error_code of the oe_exception_record_t struct when a PF or GP exception occurs. More... | |
#define | OE_SGX_PAGE_FAULT_WR_FLAG 0x2 |
Read/Write flag 0 - The fault was caused by a read. More... | |
#define | OE_SGX_PAGE_FAULT_US_FLAG 0x4 |
U/S flag 0 - The fault was caused by a supervisor-mode access. More... | |
#define | OE_SGX_PAGE_FAULT_RSVD 0x8 |
RSVD flag 0 - The fault was not caused by a reserved bit violation. More... | |
#define | OE_SGX_PAGE_FAULT_ID_FLAG 0x10 |
I/D flag 0 - The fault was not caused by an instruction fetch. More... | |
#define | OE_SGX_PAGE_FAULT_PK_FLAG 0x20 |
Protection Key flag 0 - The fault was not caused by protection keys. More... | |
#define | OE_SGX_PAGE_FAULT_SGX_FLAG 0x8000 |
SGX flag 0 - The fault was not related to SGX. More... | |
Typedefs | |
typedef struct _oe_basic_xstate | oe_basic_xstate_t |
Blob that contains X87 and SSE data. More... | |
typedef struct _oe_context | oe_context_t |
Register state to be saved before an exception and restored after the exception has been handled in the enclave. More... | |
typedef struct _oe_exception_record | oe_exception_record_t |
Exception context structure with the exception code, flags, address and calling context of the exception. More... | |
typedef uint64_t(* | oe_vectored_exception_handler_t) (oe_exception_record_t *exception_context) |
oe_vectored_exception_handler_t - Function pointer for a vectored exception handler in an enclave. More... | |
This file defines data structures to set up vectored exception handlers in the enclave.