RTEMS 6.1-rc2
|
Interrupt stack frame (ISF). More...
#include <cpu.h>
Data Fields | |
uint64_t | x0 |
uint64_t | register_lr_original |
uint64_t | register_lr |
uint64_t | x1 |
uint64_t | x2 |
uint64_t | x3 |
uint64_t | x4 |
uint64_t | x5 |
uint64_t | x6 |
uint64_t | x7 |
uint64_t | x8 |
uint64_t | x9 |
uint64_t | x10 |
uint64_t | x11 |
uint64_t | x12 |
uint64_t | x13 |
uint64_t | x14 |
uint64_t | x15 |
uint64_t | x16 |
uint64_t | x17 |
uint64_t | x18 |
uint64_t | x19 |
uint64_t | x20 |
uint64_t | x21 |
uint64_t | register_elr |
uint64_t | register_spsr |
uint64_t | register_fpsr |
uint64_t | register_fpcr |
uint32_t | reserved [3] |
uint32_t | isr_vector |
uint32_t | ebx |
uint32_t | ebp |
uint32_t | esp |
uint32_t | edx |
uint32_t | ecx |
uint32_t | eax |
uint32_t | eip |
uint32_t | cs |
uint32_t | eflags |
uint32_t | r1 |
uint32_t | r2 |
uint32_t | r3 |
uint32_t | r4 |
uint32_t | r5 |
uint32_t | r6 |
uint32_t | r7 |
uint32_t | r8 |
uint32_t | r9 |
uint32_t | r10 |
uint32_t | ra |
uint32_t | ba |
uint32_t | ea |
uint32_t | vecnum |
__MIPS_REGISTER_TYPE | r0 |
__MIPS_REGISTER_TYPE | at |
__MIPS_REGISTER_TYPE | v0 |
__MIPS_REGISTER_TYPE | v1 |
__MIPS_REGISTER_TYPE | a0 |
__MIPS_REGISTER_TYPE | a1 |
__MIPS_REGISTER_TYPE | a2 |
__MIPS_REGISTER_TYPE | a3 |
__MIPS_REGISTER_TYPE | t0 |
__MIPS_REGISTER_TYPE | t1 |
__MIPS_REGISTER_TYPE | t2 |
__MIPS_REGISTER_TYPE | t3 |
__MIPS_REGISTER_TYPE | t4 |
__MIPS_REGISTER_TYPE | t5 |
__MIPS_REGISTER_TYPE | t6 |
__MIPS_REGISTER_TYPE | t7 |
__MIPS_REGISTER_TYPE | s0 |
__MIPS_REGISTER_TYPE | s1 |
__MIPS_REGISTER_TYPE | s2 |
__MIPS_REGISTER_TYPE | s3 |
__MIPS_REGISTER_TYPE | s4 |
__MIPS_REGISTER_TYPE | s5 |
__MIPS_REGISTER_TYPE | s6 |
__MIPS_REGISTER_TYPE | s7 |
__MIPS_REGISTER_TYPE | t8 |
__MIPS_REGISTER_TYPE | t9 |
__MIPS_REGISTER_TYPE | k0 |
__MIPS_REGISTER_TYPE | k1 |
__MIPS_REGISTER_TYPE | gp |
__MIPS_REGISTER_TYPE | sp |
__MIPS_REGISTER_TYPE | fp |
__MIPS_REGISTER_TYPE | ra |
__MIPS_REGISTER_TYPE | c0_sr |
__MIPS_REGISTER_TYPE | mdlo |
__MIPS_REGISTER_TYPE | mdhi |
__MIPS_REGISTER_TYPE | badvaddr |
__MIPS_REGISTER_TYPE | cause |
__MIPS_REGISTER_TYPE | epc |
__MIPS_FPU_REGISTER_TYPE | f0 |
__MIPS_FPU_REGISTER_TYPE | f1 |
__MIPS_FPU_REGISTER_TYPE | f2 |
__MIPS_FPU_REGISTER_TYPE | f3 |
__MIPS_FPU_REGISTER_TYPE | f4 |
__MIPS_FPU_REGISTER_TYPE | f5 |
__MIPS_FPU_REGISTER_TYPE | f6 |
__MIPS_FPU_REGISTER_TYPE | f7 |
__MIPS_FPU_REGISTER_TYPE | f8 |
__MIPS_FPU_REGISTER_TYPE | f9 |
__MIPS_FPU_REGISTER_TYPE | f10 |
__MIPS_FPU_REGISTER_TYPE | f11 |
__MIPS_FPU_REGISTER_TYPE | f12 |
__MIPS_FPU_REGISTER_TYPE | f13 |
__MIPS_FPU_REGISTER_TYPE | f14 |
__MIPS_FPU_REGISTER_TYPE | f15 |
__MIPS_FPU_REGISTER_TYPE | f16 |
__MIPS_FPU_REGISTER_TYPE | f17 |
__MIPS_FPU_REGISTER_TYPE | f18 |
__MIPS_FPU_REGISTER_TYPE | f19 |
__MIPS_FPU_REGISTER_TYPE | f20 |
__MIPS_FPU_REGISTER_TYPE | f21 |
__MIPS_FPU_REGISTER_TYPE | f22 |
__MIPS_FPU_REGISTER_TYPE | f23 |
__MIPS_FPU_REGISTER_TYPE | f24 |
__MIPS_FPU_REGISTER_TYPE | f25 |
__MIPS_FPU_REGISTER_TYPE | f26 |
__MIPS_FPU_REGISTER_TYPE | f27 |
__MIPS_FPU_REGISTER_TYPE | f28 |
__MIPS_FPU_REGISTER_TYPE | f29 |
__MIPS_FPU_REGISTER_TYPE | f30 |
__MIPS_FPU_REGISTER_TYPE | f31 |
__MIPS_REGISTER_TYPE | fcsr |
__MIPS_REGISTER_TYPE | feir |
__MIPS_REGISTER_TYPE | tlbhi |
__MIPS_REGISTER_TYPE | inx |
__MIPS_REGISTER_TYPE | rand |
__MIPS_REGISTER_TYPE | ctxt |
__MIPS_REGISTER_TYPE | exctype |
__MIPS_REGISTER_TYPE | mode |
__MIPS_REGISTER_TYPE | prid |
__MIPS_REGISTER_TYPE | tar |
uint32_t | special_interrupt_register |
uintptr_t | FRAME_SP |
uintptr_t | FRAME_LR |
uintptr_t | EXC_SRR0 |
uintptr_t | EXC_SRR1 |
uint32_t | RESERVED_FOR_ALIGNMENT_0 |
uint32_t | EXC_INTERRUPT_ENTRY_INSTANT |
uint32_t | EXC_CR |
uint32_t | EXC_XER |
uintptr_t | EXC_CTR |
uintptr_t | EXC_LR |
uintptr_t | EXC_INTERRUPT_FRAME |
PPC_GPR_TYPE | GPR0 |
PPC_GPR_TYPE | GPR1 |
PPC_GPR_TYPE | GPR2 |
PPC_GPR_TYPE | GPR3 |
PPC_GPR_TYPE | GPR4 |
PPC_GPR_TYPE | GPR5 |
PPC_GPR_TYPE | GPR6 |
PPC_GPR_TYPE | GPR7 |
PPC_GPR_TYPE | GPR8 |
PPC_GPR_TYPE | GPR9 |
PPC_GPR_TYPE | GPR10 |
PPC_GPR_TYPE | GPR11 |
PPC_GPR_TYPE | GPR12 |
SPARC_Minimum_stack_frame | Stack_frame |
uint32_t | psr |
uint32_t | pc |
uint32_t | npc |
uint32_t | g1 |
uint32_t | g2 |
uint32_t | g3 |
uint32_t | g4 |
uint32_t | g5 |
uint32_t | reserved_for_alignment |
uint32_t | g7 |
uint32_t | i0 |
uint32_t | i1 |
uint32_t | i2 |
uint32_t | i3 |
uint32_t | i4 |
uint32_t | i5 |
uint32_t | i6_fp |
uint32_t | i7 |
uint32_t | y |
uint32_t | tpc |
SPARC64_Minimum_stack_frame | Stack_frame |
uint64_t | tstate |
uint64_t | tpc |
uint64_t | tnpc |
uint64_t | pil |
uint64_t | y |
uint64_t | g1 |
uint64_t | g2 |
uint64_t | g3 |
uint64_t | g4 |
uint64_t | g5 |
uint64_t | g6 |
uint64_t | g7 |
uint64_t | o0 |
uint64_t | o1 |
uint64_t | o2 |
uint64_t | o3 |
uint64_t | o4 |
uint64_t | o5 |
uint64_t | o6_sp |
uint64_t | o7 |
uint64_t | tvec |
uint64_t | rax |
uint64_t | rcx |
uint64_t | rdx |
uint64_t | rsi |
uint64_t | r8 |
uint64_t | r9 |
uint64_t | r10 |
uint64_t | r11 |
uint64_t | saved_rsp |
Interrupt stack frame (ISF).
This defines the set of integer and processor state registers that must be saved during an interrupt. This set does not include any which are in Context_Control.
Context saved on stack for an interrupt.
NOTE: The PSR, PC, and NPC are only saved in this structure for the benefit of the user's handler.
uint32_t CPU_Interrupt_frame::g1 |
This is the offset of the g1 register on an ISF.
uint32_t CPU_Interrupt_frame::g2 |
This is the offset of the g2 register on an ISF.
uint32_t CPU_Interrupt_frame::g3 |
This is the offset of the g3 register on an ISF.
uint32_t CPU_Interrupt_frame::g4 |
This is the offset of the g4 register on an ISF.
uint32_t CPU_Interrupt_frame::g5 |
This is the offset of the g5 register on an ISF.
uint32_t CPU_Interrupt_frame::g7 |
This is the offset of the g7 register on an ISF.
uint32_t CPU_Interrupt_frame::i0 |
This is the offset of the i0 register on an ISF.
uint32_t CPU_Interrupt_frame::i1 |
This is the offset of the i1 register on an ISF.
uint32_t CPU_Interrupt_frame::i2 |
This is the offset of the i2 register on an ISF.
uint32_t CPU_Interrupt_frame::i3 |
This is the offset of the i3 register on an ISF.
uint32_t CPU_Interrupt_frame::i4 |
This is the offset of the i4 register on an ISF.
uint32_t CPU_Interrupt_frame::i5 |
This is the offset of the i5 register on an ISF.
uint32_t CPU_Interrupt_frame::i6_fp |
This is the offset of the i6 register on an ISF.
uint32_t CPU_Interrupt_frame::i7 |
This is the offset of the i7 register on an ISF.
uint32_t CPU_Interrupt_frame::npc |
This is the offset of the XXX on an ISF.
uint32_t CPU_Interrupt_frame::pc |
This is the offset of the XXX on an ISF.
uint32_t CPU_Interrupt_frame::psr |
This is the offset of the PSR on an ISF.
uint64_t CPU_Interrupt_frame::rax |
uint32_t CPU_Interrupt_frame::reserved_for_alignment |
This is the offset is reserved for alignment on an ISF.
uint32_t CPU_Interrupt_frame::special_interrupt_register |
This field is a hint that a port will have a number of integer registers that need to be saved when an interrupt occurs or when a context switch occurs at the end of an ISR.
SPARC_Minimum_stack_frame CPU_Interrupt_frame::Stack_frame |
On an interrupt, we must save the minimum stack frame.
uint32_t CPU_Interrupt_frame::tpc |
This is the offset of the tpc register on an ISF.
uint32_t CPU_Interrupt_frame::y |
This is the offset of the y register on an ISF.