-
Notifications
You must be signed in to change notification settings - Fork 0
/
interruptP.h
54 lines (47 loc) · 1.22 KB
/
interruptP.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* Copyright (c) 2000 by Tsuyoshi Ishii. All rights reserved. ---------------*/
#ifndef _INTERRUPTP_H
#define _INTERRUPTP_H
gate_t* idt = (gate_t*)AL_IDT;
struct intr_table {
void (*func)(void);
unsigned char vect;
};
struct intr_table intr_table[] = {
{intr_divide, 0},
{intr_singlestep, 1},
{intr_nmi, 2},
{intr_breakpoint, 3},
{intr_overflow, 4},
{intr_bounds, 5},
{intr_opcode, 6},
{intr_copr_not_available, 7},
{intr_doublefault, 8},
{intr_copr_seg_overrun, 9},
{intr_tss, 10},
{intr_segment_not_present, 11},
{intr_stack, 12},
{intr_general, 13},
{intr_page, 14},
{intr_copr_error, 0x10},
{intr_irq0, VECT_IRQ0},
{intr_irq1, VECT_IRQ1},
{intr_irq2, VECT_IRQ2},
{intr_irq3, VECT_IRQ3},
{intr_irq4, VECT_IRQ4},
{intr_irq5, VECT_IRQ5},
{intr_irq6, VECT_IRQ6},
{intr_irq7, VECT_IRQ7},
{intr_irq8, VECT_IRQ8},
{intr_irq9, VECT_IRQ9},
{intr_irq10, VECT_IRQ10},
{intr_irq11, VECT_IRQ11},
{intr_irq12, VECT_IRQ12},
{intr_irq13, VECT_IRQ13},
{intr_irq14, VECT_IRQ14},
{intr_irq15, VECT_IRQ15}
};
#define N_INTR_TABLE (sizeof(intr_table) / sizeof(struct intr_table))
static void setup_trap();
static void setup_irq();
static void setup_syscall();
#endif