CS350 COS
COS
|
Go to the source code of this file.
Data Structures | |
struct | TrapFrame |
Macros | |
#define | T_DE 0 /* Divide Error Exception */ |
#define | T_DB 1 /* Debug Exception */ |
#define | T_NMI 2 /* NMI Interrupt */ |
#define | T_BP 3 /* Breakpoint Exception */ |
#define | T_OF 4 /* Overflow Exception */ |
#define | T_BR 5 /* BOUND Range Exceeded Exception */ |
#define | T_UD 6 /* Invalid Opcode Exception */ |
#define | T_NM 7 /* Device Not Available Exception */ |
#define | T_DF 8 /* Double Fault Exception */ |
#define | T_TS 10 /* Invalid TSS Exception */ |
#define | T_NP 11 /* Segment Not Present */ |
#define | T_SS 12 /* Stack Fault Exception */ |
#define | T_GP 13 /* General Protection Exception */ |
#define | T_PF 14 /* Page-Fault Exception */ |
#define | T_MF 16 /* x87 FPU Floating-Point Error */ |
#define | T_AC 17 /* Alignment Check Exception */ |
#define | T_MC 18 /* Machine-Check Exception */ |
#define | T_XF 19 /* SIMB Floating-Point Exception */ |
#define | T_VE 20 /* Virtualization Exception */ |
#define | T_CPU_LAST T_VE |
#define | T_IRQ_BASE 32 |
#define | T_IRQ_LEN 24 |
#define | T_IRQ_MAX (T_IRQ_BASE + T_IRQ_LEN - 1) |
#define | T_IRQ_TIMER (T_IRQ_BASE + 0) |
#define | T_IRQ_KBD (T_IRQ_BASE + 1) |
#define | T_IRQ_COM1 (T_IRQ_BASE + 4) |
#define | T_IRQ_MOUSE (T_IRQ_BASE + 12) |
#define | T_IRQ_SPURIOUS (T_IRQ_BASE + 24) |
#define | T_IRQ_ERROR (T_IRQ_BASE + 25) |
#define | T_IRQ_THERMAL (T_IRQ_BASE + 26) |
#define | T_SYSCALL 60 /* System Call */ |
#define | T_CROSSCALL 61 /* Cross Call (IPI) */ |
#define | T_DEBUGIPI 62 /* Kernel Debugger Halt (IPI) */ |
#define | T_UNKNOWN 63 /* Unknown Trap */ |
#define | T_MAX 64 |
Typedefs | |
typedef struct TrapFrame | TrapFrame |
Functions | |
void | Trap_Init () |
void | Trap_InitAP () |
void | Trap_Dump (TrapFrame *tf) |
void | Trap_Pop (TrapFrame *tf) |
struct TrapFrame |
Data Fields | ||
---|---|---|
uint32_t | _unused0 | |
uint16_t | _unused1 | |
uint16_t | _unused2 | |
uint16_t | _unused3 | |
uint16_t | _unused4 | |
uint16_t | _unused5 | |
uint16_t | _unused6 | |
uint16_t | cs | |
uint64_t | ds | |
uint32_t | errcode | |
uint64_t | r10 | |
uint64_t | r11 | |
uint64_t | r12 | |
uint64_t | r13 | |
uint64_t | r14 | |
uint64_t | r15 | |
uint64_t | r8 | |
uint64_t | r9 | |
uint64_t | rax | |
uint64_t | rbp | |
uint64_t | rbx | |
uint64_t | rcx | |
uint64_t | rdi | |
uint64_t | rdx | |
uint64_t | rflags | |
uint64_t | rip | |
uint64_t | rsi | |
uint64_t | rsp | |
uint16_t | ss | |
uint64_t | vector |
#define T_IRQ_COM1 (T_IRQ_BASE + 4) |
#define T_IRQ_ERROR (T_IRQ_BASE + 25) |
#define T_IRQ_KBD (T_IRQ_BASE + 1) |
#define T_IRQ_MAX (T_IRQ_BASE + T_IRQ_LEN - 1) |
#define T_IRQ_MOUSE (T_IRQ_BASE + 12) |
#define T_IRQ_SPURIOUS (T_IRQ_BASE + 24) |
#define T_IRQ_THERMAL (T_IRQ_BASE + 26) |
#define T_IRQ_TIMER (T_IRQ_BASE + 0) |
void Trap_Dump | ( | TrapFrame * | tf | ) |
void Trap_Init | ( | ) |
Definition at line 33 of file trap.c.
void Trap_InitAP | ( | ) |
void Trap_Pop | ( | TrapFrame * | tf | ) |