Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Exception Stack Frame. More...
#include <exception.h>
Data Structures | |
struct | __basic_sf |
Exception Stack Frame.
A pointer to an "exception stack frame" (ESF) is passed as an argument to exception handlers registered via nanoCpuExcConnect(). As the system always operates at ring 0, only the EIP, CS and EFLAGS registers are pushed onto the stack when an exception occurs.
The exception stack frame includes the volatile registers (EAX, ECX, and EDX) as well as the 5 non-volatile registers (EDI, ESI, EBX, EBP and ESP). Those registers are pushed onto the stack by _ExcEnt().
unsigned long arch_esf::a0 |
unsigned long arch_esf::a1 |
unsigned long arch_esf::a2 |
unsigned long arch_esf::a3 |
unsigned long arch_esf::a4 |
unsigned long arch_esf::a5 |
unsigned long arch_esf::a6 |
unsigned long arch_esf::a7 |
unsigned long arch_esf::at |
unsigned long arch_esf::badvaddr |
struct arch_esf::__basic_sf arch_esf::basic |
unsigned long arch_esf::cause |
unsigned long arch_esf::code |
unsigned int arch_esf::cs |
unsigned long arch_esf::cs |
unsigned int arch_esf::ds |
uint32_t arch_esf::dummy |
int arch_esf::dummy |
unsigned int arch_esf::eax |
unsigned int arch_esf::ebp |
unsigned int arch_esf::ebx |
unsigned int arch_esf::ecx |
unsigned int arch_esf::edi |
unsigned int arch_esf::edx |
unsigned int arch_esf::eflags |
unsigned int arch_esf::eip |
uint64_t arch_esf::elr |
unsigned long arch_esf::epc |
unsigned int arch_esf::errorCode |
unsigned int arch_esf::es |
unsigned int arch_esf::esi |
unsigned int arch_esf::esp |
uint32_t arch_esf::estatus |
struct __fpu_sf arch_esf::fpu |
unsigned int arch_esf::fs |
char arch_esf::fxsave[X86_FXSAVE_SIZE] |
uint32_t arch_esf::global[8] |
unsigned long arch_esf::gp |
unsigned int arch_esf::gs |
unsigned long arch_esf::hi |
uint32_t arch_esf::instr |
unsigned long arch_esf::lo |
uint64_t arch_esf::lr |
unsigned long arch_esf::mepc |
unsigned long arch_esf::mstatus |
uint32_t arch_esf::npc |
uint32_t arch_esf::out[8] |
uint32_t arch_esf::pc |
uint32_t arch_esf::psr |
uint32_t arch_esf::r1 |
uint32_t arch_esf::r10 |
unsigned long arch_esf::r10 |
uint32_t arch_esf::r11 |
unsigned long arch_esf::r11 |
uint32_t arch_esf::r12 |
uint32_t arch_esf::r13 |
uint32_t arch_esf::r14 |
uint32_t arch_esf::r15 |
uint32_t arch_esf::r2 |
uint32_t arch_esf::r3 |
uint32_t arch_esf::r4 |
uint32_t arch_esf::r5 |
uint32_t arch_esf::r6 |
uint32_t arch_esf::r7 |
uint32_t arch_esf::r8 |
unsigned long arch_esf::r8 |
uint32_t arch_esf::r9 |
unsigned long arch_esf::r9 |
unsigned long arch_esf::ra |
uint32_t arch_esf::ra |
unsigned long arch_esf::rax |
unsigned long arch_esf::rbp |
unsigned long arch_esf::rcx |
unsigned long arch_esf::rdi |
unsigned long arch_esf::rdx |
unsigned long arch_esf::rflags |
unsigned long arch_esf::rip |
unsigned long arch_esf::rsi |
unsigned long arch_esf::rsp |
unsigned long arch_esf::s0 |
unsigned long arch_esf::sp |
uint64_t arch_esf::spsr |
unsigned int arch_esf::ss |
unsigned long arch_esf::ss |
unsigned long arch_esf::status |
unsigned long arch_esf::t0 |
unsigned long arch_esf::t1 |
unsigned long arch_esf::t2 |
unsigned long arch_esf::t3 |
unsigned long arch_esf::t4 |
unsigned long arch_esf::t5 |
unsigned long arch_esf::t6 |
unsigned long arch_esf::t7 |
unsigned long arch_esf::t8 |
unsigned long arch_esf::t9 |
uint32_t arch_esf::tbr |
unsigned long arch_esf::v0 |
unsigned long arch_esf::v1 |
unsigned long arch_esf::vector |
uint32_t arch_esf::wim |
uint64_t arch_esf::x0 |
uint64_t arch_esf::x1 |
uint64_t arch_esf::x10 |
uint64_t arch_esf::x11 |
uint64_t arch_esf::x12 |
uint64_t arch_esf::x13 |
uint64_t arch_esf::x14 |
uint64_t arch_esf::x15 |
uint64_t arch_esf::x16 |
uint64_t arch_esf::x17 |
uint64_t arch_esf::x18 |
uint64_t arch_esf::x2 |
uint64_t arch_esf::x3 |
uint64_t arch_esf::x4 |
uint64_t arch_esf::x5 |
uint64_t arch_esf::x6 |
uint64_t arch_esf::x7 |
uint64_t arch_esf::x8 |
uint64_t arch_esf::x9 |
uint32_t arch_esf::y |