异常向量表的设置
全局观
start_kernel()
trap_init()
idt_setup_traps()
idt_setup_from_table(idt_table, def_idts)从def_idts开始
/* Interrupt gate */
#define INTG(_vector, _addr) \
G(_vector, _addr, DEFAULT_STACK, GATE_INTERRUPT, DPL0, __KERNEL_CS)
static const __initconst struct idt_data def_idts[] = {
INTG(X86_TRAP_DE, divide_error),
...
};idtentry和异常处理函数
DO_ERROR和信号
Last updated