Go to the documentation of this file.
11 #ifndef _OE_BITS_EXCEPTION_H
12 #define _OE_BITS_EXCEPTION_H
14 #include <openenclave/bits/defs.h>
21 #define OE_EXCEPTION_CONTINUE_SEARCH 0x0
25 #define OE_EXCEPTION_CONTINUE_EXECUTION 0xFFFFFFFF
29 #define OE_EXCEPTION_ABORT_EXECUTION 0xFFFFFFF0
34 #define OE_EXCEPTION_DIVIDE_BY_ZERO 0x0
38 #define OE_EXCEPTION_BREAKPOINT 0x1
42 #define OE_EXCEPTION_BOUND_OUT_OF_RANGE 0x2
46 #define OE_EXCEPTION_ILLEGAL_INSTRUCTION 0x3
50 #define OE_EXCEPTION_ACCESS_VIOLATION 0x4
54 #define OE_EXCEPTION_PAGE_FAULT 0x5
58 #define OE_EXCEPTION_X87_FLOAT_POINT 0x6
62 #define OE_EXCEPTION_MISALIGNMENT 0x7
66 #define OE_EXCEPTION_SIMD_FLOAT_POINT 0x8
70 #define OE_EXCEPTION_UNKNOWN 0xFFFFFFFF
76 #define OE_EXCEPTION_FLAGS_HARDWARE 0x1
81 #define OE_EXCEPTION_FLAGS_SOFTWARE 0x2
95 #define OE_SGX_PAGE_FAULT_P_FLAG 0x1
101 #define OE_SGX_PAGE_FAULT_WR_FLAG 0x2
107 #define OE_SGX_PAGE_FAULT_US_FLAG 0x4
113 #define OE_SGX_PAGE_FAULT_RSVD 0x8
119 #define OE_SGX_PAGE_FAULT_ID_FLAG 0x10
125 #define OE_SGX_PAGE_FAULT_PK_FLAG 0x20
131 #define OE_SGX_PAGE_FAULT_SGX_FLAG 0x8000
214 uint64_t faulting_address;
221 uint16_t host_signal_number;
uint64_t address
Exception address.
Definition: exception.h:209
uint64_t r14
Integer register r14.
Definition: exception.h:182
uint64_t rdx
Integer register rdx.
Definition: exception.h:160
Exception context structure with the exception code, flags, address and calling context of the except...
Definition: exception.h:203
uint64_t r11
Integer register r11.
Definition: exception.h:176
uint64_t flags
Exception flags.
Definition: exception.h:152
oe_basic_xstate_t basic_xstate
Basic XSTATE.
Definition: exception.h:193
uint64_t rbp
Integer register rbp.
Definition: exception.h:162
uint64_t r15
Integer register r15.
Definition: exception.h:184
uint64_t r13
Integer register r13.
Definition: exception.h:180
uint64_t rcx
Integer register rcx.
Definition: exception.h:158
uint64_t rip
Integer register rip.
Definition: exception.h:186
uint64_t r8
Integer register r8.
Definition: exception.h:170
uint64_t r10
Integer register r10.
Definition: exception.h:174
uint64_t r12
Integer register r12.
Definition: exception.h:178
uint64_t rax
Integer register rax.
Definition: exception.h:154
uint64_t rdi
Integer register rdi.
Definition: exception.h:166
Register state to be saved before an exception and restored after the exception has been handled in t...
Definition: exception.h:146
uint64_t rsi
Integer register rsi.
Definition: exception.h:168
uint8_t blob[512]
Holds XState i.e.
Definition: exception.h:138
uint64_t rbx
Integer register rbx.
Definition: exception.h:156
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.
Definition: exception.h:235
uint32_t code
Exception code.
Definition: exception.h:205
Blob that contains X87 and SSE data.
Definition: exception.h:136
uint32_t mxcsr
SSE control flags.
Definition: exception.h:191
oe_context_t * context
Exception context.
Definition: exception.h:223
uint64_t r9
Integer register r9.
Definition: exception.h:172
struct _oe_exception_record oe_exception_record_t
Exception context structure with the exception code, flags, address and calling context of the except...
uint32_t flags
Exception flags.
Definition: exception.h:207
struct _oe_context oe_context_t
Register state to be saved before an exception and restored after the exception has been handled in t...
uint64_t rsp
Integer register rsp.
Definition: exception.h:164