Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
nanoEsf Struct Reference

Exception Stack Frame. More...

#include <arch.h>

Data Fields

unsigned int ss
 
unsigned int gs
 
unsigned int fs
 
unsigned int es
 
unsigned int ds
 
unsigned int esp
 
unsigned int ebp
 
unsigned int ebx
 
unsigned int esi
 
unsigned int edi
 
unsigned int edx
 
unsigned int eax
 
unsigned int ecx
 
unsigned int errorCode
 
unsigned int eip
 
unsigned int cs
 
unsigned int eflags
 

Detailed Description

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().

Field Documentation

◆ cs

unsigned int nanoEsf::cs

◆ ds

unsigned int nanoEsf::ds

◆ eax

unsigned int nanoEsf::eax

◆ ebp

unsigned int nanoEsf::ebp

◆ ebx

unsigned int nanoEsf::ebx

◆ ecx

unsigned int nanoEsf::ecx

◆ edi

unsigned int nanoEsf::edi

◆ edx

unsigned int nanoEsf::edx

◆ eflags

unsigned int nanoEsf::eflags

◆ eip

unsigned int nanoEsf::eip

◆ errorCode

unsigned int nanoEsf::errorCode

◆ es

unsigned int nanoEsf::es

◆ esi

unsigned int nanoEsf::esi

◆ esp

unsigned int nanoEsf::esp

◆ fs

unsigned int nanoEsf::fs

◆ gs

unsigned int nanoEsf::gs

◆ ss

unsigned int nanoEsf::ss

The documentation for this struct was generated from the following file: