|
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.
1.8.13