nckernel
0.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
include
isr.h
Go to the documentation of this file.
1
6
enum
irq_nr
{
7
IRQ_NR_DIVIDE
= 0x00,
8
IRQ_NR_DEBUG
= 0x01,
9
IRQ_NR_NMI
= 0x02,
10
IRQ_NR_BREAKPOINT
= 0x03,
11
IRQ_NR_OVERFLOW
= 0x04,
12
IRQ_NR_BOUND
= 0x05,
13
IRQ_NR_OPCODE
= 0x06,
14
IRQ_NR_DEVICE
= 0x07,
15
IRQ_NR_DOUBLE_FAULT
= 0x08,
16
IRQ_NR_COPROCESSOR
= 0x09,
17
IRQ_NR_INVALID_TSS
= 0x0A,
18
IRQ_NR_SEGMENT_NOT_EXIST
= 0x0B,
19
IRQ_NR_STACK_FAULT
= 0x0C,
20
IRQ_NR_PROTECTION
= 0x0D,
21
IRQ_NR_PAGE_FAULT
= 0x0E,
22
/* Reserved: 0x0F */
23
IRQ_NR_MATH
= 0x10,
24
IRQ_NR_ALIGNMENT
= 0x11,
25
IRQ_NR_MACHINE_CHECK
= 0x12,
26
IRQ_NR_SIMD
= 0x13,
27
/* Reserved: 0x14 ~ 0x1F */
28
IRQ_NR_TIMER
= 0x20,
29
IRQ_NR_KEYBOARD
= 0x21,
30
IRQ_NR_IRQ2
= 0x22,
31
IRQ_NR_SERIAL_EVEN
= 0x23,
32
IRQ_NR_SERIAL_ODD
= 0x24,
33
/* Reserved: 0x25 */
34
IRQ_NR_FDC
= 0x26,
35
/* Reserved: 0x27 */
36
IRQ_NR_RTC
= 0x28,
37
IRQ_NR_BINDER
= 0x29,
38
/* Reserved: 0x2A ~ 0x2D */
39
IRQ_NR_HDC
= 0x2E,
40
/* Reserved: 0x2F ~ 0x30 */
41
IRQ_NR_SW
= 0x31,
42
IRQ_MAX
= 0x100,
43
};
44
45
#define asmlinkage __attribute__((regparm(0)))
46
47
struct
intr_info
{
48
int
irq
;
49
int
argc
;
50
unsigned
long
*
argv
;
51
int
ret
;
52
};
53
57
union
error_code
{
58
unsigned
long
value
;
59
60
struct
{
61
unsigned
long
ext
:1;
62
unsigned
long
idt
:1;
63
unsigned
long
ti
:1;
64
unsigned
long
selector
:29;
65
}
__PACKED
normal
;
66
67
struct
{
73
unsigned
long
present
: 1;
74
unsigned
long
write
: 1;
75
unsigned
long
user
: 1;
81
unsigned
long
reserved_write
: 1;
82
unsigned
long
instr
: 1;
83
unsigned
long
reserved
: 27;
84
}
__PACKED
page_fault
;
85
};
86
87
struct
pt_regs
{
88
struct
{
89
unsigned
long
edi
;
90
unsigned
long
esi
;
91
unsigned
long
ebp
;
92
unsigned
long
esp
;
93
unsigned
long
ebx
;
94
unsigned
long
edx
;
95
unsigned
long
ecx
;
96
unsigned
long
eax
;
97
}
pushad
;
100
unsigned
short
ds
;
101
unsigned
short
reserved0
;
102
unsigned
short
es
;
103
unsigned
short
reserved1
;
104
unsigned
short
fs
;
105
unsigned
short
reserved2
;
106
unsigned
short
gs
;
107
unsigned
short
reserved3
;
108
109
unsigned
long
ebp
;
110
unsigned
long
irq
;
111
union
error_code
ecode
;
113
unsigned
long
eip
;
114
unsigned
long
cs
;
115
unsigned
long
eflags
;
116
};
117
121
struct
pt_regs_user
{
122
unsigned
long
esp
;
123
unsigned
long
ss
;
124
};
125
132
struct
pt_regs_kernel
{
133
unsigned
long
ret_addr
;
134
unsigned
long
arg
;
135
};
136
137
extern
asmlinkage
struct
pt_regs
*
do_irq
(
struct
pt_regs
*reg);
138
Generated on Thu Nov 7 2013 02:45:25 for nckernel by
1.8.4