Many code changes, many undocumented. Documentation and cleanup is next. Fixed a lot of bugs related to IDT structure. Changed the IDT paradigm to be dynamically written isntead of statically to account for nobits on that section. Also added a gdb remote debugger automatic script, for simplicity in debugging.
16 lines
407 B
C
16 lines
407 B
C
#ifndef INTERRUPTHANDLERS_H
|
|
#define INTERRUPTHANDLERS_H
|
|
#include <stdint.h>
|
|
|
|
extern void (*isr_ptrs[])(void);
|
|
|
|
//Struct is built "backwards" since it is pushed in this order.
|
|
typedef struct StateSnapshot_s {
|
|
uint32_t edi, esi, esp, ebx, edx, ecx, eax;
|
|
uint32_t interrupt_id, error_code;
|
|
uint32_t eip, cs, eflags;
|
|
} StateSnapshot_t;
|
|
|
|
void generic_isr_handler(StateSnapshot_t* cpu_state);
|
|
|
|
#endif
|