]> git.saurik.com Git - apple/xnu.git/blob - osfmk/x86_64/idt_table.h
xnu-3789.60.24.tar.gz
[apple/xnu.git] / osfmk / x86_64 / idt_table.h
1 /*
2 * Copyright (c) 2009 Apple Inc. All rights reserved.
3 *
4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. The rights granted to you under the License
10 * may not be used to create, or enable the creation or redistribution of,
11 * unlawful or unlicensed copies of an Apple operating system, or to
12 * circumvent, violate, or enable the circumvention or violation of, any
13 * terms of an Apple operating system software license agreement.
14 *
15 * Please obtain a copy of the License at
16 * http://www.opensource.apple.com/apsl/ and read it before using this file.
17 *
18 * The Original Code and all software distributed under the License are
19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23 * Please see the License for the specific language governing rights and
24 * limitations under the License.
25 *
26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27 */
28
29 TRAP(0x00,idt64_zero_div)
30 TRAP_SPC(0x01,idt64_debug)
31 TRAP_IST2(0x02,idt64_nmi)
32 USER_TRAP(0x03,idt64_int3)
33 USER_TRAP(0x04,idt64_into)
34 USER_TRAP(0x05,idt64_bounds)
35 TRAP(0x06,idt64_invop)
36 TRAP(0x07,idt64_nofpu)
37 TRAP_IST1(0x08,idt64_double_fault)
38 TRAP(0x09,idt64_fpu_over)
39 TRAP_ERR(0x0a,idt64_inv_tss)
40 TRAP_IST1(0x0b,idt64_segnp)
41 TRAP_IST1(0x0c,idt64_stack_fault)
42 TRAP_IST1(0x0d,idt64_gen_prot)
43 TRAP_SPC(0x0e,idt64_page_fault)
44 TRAP(0x0f,idt64_trap_0f)
45 TRAP(0x10,idt64_fpu_err)
46 TRAP_ERR(0x11,idt64_alignment_check)
47 TRAP_IST1(0x12,idt64_mc)
48 TRAP(0x13,idt64_sse_err)
49 TRAP(0x14,idt64_trap_14)
50 TRAP(0x15,idt64_trap_15)
51 TRAP(0x16,idt64_trap_16)
52 TRAP(0x17,idt64_trap_17)
53 TRAP(0x18,idt64_trap_18)
54 TRAP(0x19,idt64_trap_19)
55 TRAP(0x1a,idt64_trap_1a)
56 TRAP(0x1b,idt64_trap_1b)
57 TRAP(0x1c,idt64_trap_1c)
58 TRAP(0x1d,idt64_trap_1d)
59 TRAP(0x1e,idt64_trap_1e)
60 TRAP(0x1f,idt64_trap_1f)
61
62 INTERRUPT(0x20)
63 INTERRUPT(0x21)
64 INTERRUPT(0x22)
65 INTERRUPT(0x23)
66 INTERRUPT(0x24)
67 INTERRUPT(0x25)
68 INTERRUPT(0x26)
69 INTERRUPT(0x27)
70 INTERRUPT(0x28)
71 INTERRUPT(0x29)
72 INTERRUPT(0x2a)
73 INTERRUPT(0x2b)
74 INTERRUPT(0x2c)
75 INTERRUPT(0x2d)
76 INTERRUPT(0x2e)
77 INTERRUPT(0x2f)
78
79 INTERRUPT(0x30)
80 INTERRUPT(0x31)
81 INTERRUPT(0x32)
82 INTERRUPT(0x33)
83 INTERRUPT(0x34)
84 INTERRUPT(0x35)
85 INTERRUPT(0x36)
86 INTERRUPT(0x37)
87 INTERRUPT(0x38)
88 INTERRUPT(0x39)
89 INTERRUPT(0x3a)
90 INTERRUPT(0x3b)
91 INTERRUPT(0x3c)
92 INTERRUPT(0x3d)
93 INTERRUPT(0x3e)
94 INTERRUPT(0x3f)
95
96 INTERRUPT(0x40)
97 INTERRUPT(0x41)
98 INTERRUPT(0x42)
99 INTERRUPT(0x43)
100 INTERRUPT(0x44)
101 INTERRUPT(0x45)
102 INTERRUPT(0x46)
103 INTERRUPT(0x47)
104 INTERRUPT(0x48)
105 INTERRUPT(0x49)
106 INTERRUPT(0x4a)
107 INTERRUPT(0x4b)
108 INTERRUPT(0x4c)
109 INTERRUPT(0x4d)
110 INTERRUPT(0x4e)
111 INTERRUPT(0x4f)
112
113 INTERRUPT(0x50)
114 INTERRUPT(0x51)
115 INTERRUPT(0x52)
116 INTERRUPT(0x53)
117 INTERRUPT(0x54)
118 INTERRUPT(0x55)
119 INTERRUPT(0x56)
120 INTERRUPT(0x57)
121 INTERRUPT(0x58)
122 INTERRUPT(0x59)
123 INTERRUPT(0x5a)
124 INTERRUPT(0x5b)
125 INTERRUPT(0x5c)
126 INTERRUPT(0x5d)
127 INTERRUPT(0x5e)
128 INTERRUPT(0x5f)
129
130 INTERRUPT(0x60)
131 INTERRUPT(0x61)
132 INTERRUPT(0x62)
133 INTERRUPT(0x63)
134 INTERRUPT(0x64)
135 INTERRUPT(0x65)
136 INTERRUPT(0x66)
137 INTERRUPT(0x67)
138 INTERRUPT(0x68)
139 INTERRUPT(0x69)
140 INTERRUPT(0x6a)
141 INTERRUPT(0x6b)
142 INTERRUPT(0x6c)
143 INTERRUPT(0x6d)
144 INTERRUPT(0x6e)
145 INTERRUPT(0x6f)
146
147 INTERRUPT(0x70)
148 INTERRUPT(0x71)
149 INTERRUPT(0x72)
150 INTERRUPT(0x73)
151 INTERRUPT(0x74)
152 INTERRUPT(0x75)
153 INTERRUPT(0x76)
154 INTERRUPT(0x77)
155 INTERRUPT(0x78)
156 INTERRUPT(0x79)
157 INTERRUPT(0x7a)
158 INTERRUPT(0x7b)
159 INTERRUPT(0x7c)
160 INTERRUPT(0x7d)
161 INTERRUPT(0x7e)
162 USER_TRAP(0x7f, idt64_dtrace_ret) /* Required by dtrace "fasttrap" */
163
164 USER_TRAP_SPC(0x80,idt64_unix_scall)
165 USER_TRAP_SPC(0x81,idt64_mach_scall)
166 USER_TRAP_SPC(0x82,idt64_mdep_scall)
167
168 INTERRUPT(0x83)
169 INTERRUPT(0x84)
170 INTERRUPT(0x85)
171 INTERRUPT(0x86)
172 INTERRUPT(0x87)
173 INTERRUPT(0x88)
174 INTERRUPT(0x89)
175 INTERRUPT(0x8a)
176 INTERRUPT(0x8b)
177 INTERRUPT(0x8c)
178 INTERRUPT(0x8d)
179 INTERRUPT(0x8e)
180 INTERRUPT(0x8f)
181
182 INTERRUPT(0x90)
183 INTERRUPT(0x91)
184 INTERRUPT(0x92)
185 INTERRUPT(0x93)
186 INTERRUPT(0x94)
187 INTERRUPT(0x95)
188 INTERRUPT(0x96)
189 INTERRUPT(0x97)
190 INTERRUPT(0x98)
191 INTERRUPT(0x99)
192 INTERRUPT(0x9a)
193 INTERRUPT(0x9b)
194 INTERRUPT(0x9c)
195 INTERRUPT(0x9d)
196 INTERRUPT(0x9e)
197 INTERRUPT(0x9f)
198
199 INTERRUPT(0xa0)
200 INTERRUPT(0xa1)
201 INTERRUPT(0xa2)
202 INTERRUPT(0xa3)
203 INTERRUPT(0xa4)
204 INTERRUPT(0xa5)
205 INTERRUPT(0xa6)
206 INTERRUPT(0xa7)
207 INTERRUPT(0xa8)
208 INTERRUPT(0xa9)
209 INTERRUPT(0xaa)
210 INTERRUPT(0xab)
211 INTERRUPT(0xac)
212 INTERRUPT(0xad)
213 INTERRUPT(0xae)
214 INTERRUPT(0xaf)
215
216 INTERRUPT(0xb0)
217 INTERRUPT(0xb1)
218 INTERRUPT(0xb2)
219 INTERRUPT(0xb3)
220 INTERRUPT(0xb4)
221 INTERRUPT(0xb5)
222 INTERRUPT(0xb6)
223 INTERRUPT(0xb7)
224 INTERRUPT(0xb8)
225 INTERRUPT(0xb9)
226 INTERRUPT(0xba)
227 INTERRUPT(0xbb)
228 INTERRUPT(0xbc)
229 INTERRUPT(0xbd)
230 INTERRUPT(0xbe)
231 INTERRUPT(0xbf)
232
233 INTERRUPT(0xc0)
234 INTERRUPT(0xc1)
235 INTERRUPT(0xc2)
236 INTERRUPT(0xc3)
237 INTERRUPT(0xc4)
238 INTERRUPT(0xc5)
239 INTERRUPT(0xc6)
240 INTERRUPT(0xc7)
241 INTERRUPT(0xc8)
242 INTERRUPT(0xc9)
243 INTERRUPT(0xca)
244 INTERRUPT(0xcb)
245 INTERRUPT(0xcc)
246 INTERRUPT(0xcd)
247 INTERRUPT(0xce)
248 INTERRUPT(0xcf)
249
250 /* Local APIC interrupt vectors */
251 INTERRUPT(0xd0)
252 INTERRUPT(0xd1)
253 INTERRUPT(0xd2)
254 INTERRUPT(0xd3)
255 INTERRUPT(0xd4)
256 INTERRUPT(0xd5)
257 INTERRUPT(0xd6)
258 INTERRUPT(0xd7)
259 INTERRUPT(0xd8)
260 INTERRUPT(0xd9)
261 INTERRUPT(0xda)
262 INTERRUPT(0xdb)
263 INTERRUPT(0xdc)
264 INTERRUPT(0xdd)
265 INTERRUPT(0xde)
266 INTERRUPT(0xdf)
267
268 INTERRUPT(0xe0)
269 INTERRUPT(0xe1)
270 INTERRUPT(0xe2)
271 INTERRUPT(0xe3)
272 INTERRUPT(0xe4)
273 INTERRUPT(0xe5)
274 INTERRUPT(0xe6)
275 INTERRUPT(0xe7)
276 INTERRUPT(0xe8)
277 INTERRUPT(0xe9)
278 INTERRUPT(0xea)
279 INTERRUPT(0xeb)
280 INTERRUPT(0xec)
281 INTERRUPT(0xed)
282 INTERRUPT(0xee)
283 INTERRUPT(0xef)
284
285 INTERRUPT(0xf0)
286 INTERRUPT(0xf1)
287 INTERRUPT(0xf2)
288 INTERRUPT(0xf3)
289 INTERRUPT(0xf4)
290 INTERRUPT(0xf5)
291 INTERRUPT(0xf6)
292 INTERRUPT(0xf7)
293 INTERRUPT(0xf8)
294 INTERRUPT(0xf9)
295 INTERRUPT(0xfa)
296 INTERRUPT(0xfb)
297 INTERRUPT(0xfc)
298 INTERRUPT(0xfd)
299 INTERRUPT(0xfe)
300 TRAP(0xff,idt64_preempt)