1 /* Generated from i386_isrdef.c.j2. Do NOT modify */
4 #include <lunaix/types.h>
6 #define IDT_INTERRUPT 0x70
8 #define IDT_ATTR(dpl, type) (((type) << 5) | ((dpl & 3) << 13) | (1 << 15))
11 #define DECLARE_ISR(iv) extern void _asm_isr##iv();
13 #define ISR_INSTALL(idt, iv, isr, dpl) \
14 _idt[iv] = ((ptr_t)isr & 0xffff0000) | IDT_ATTR(dpl, IDT_INTERRUPT); \
16 _idt[iv] |= (KERNEL_CS << 16) | ((ptr_t)isr & 0x0000ffff); \
18 u64_t _idt[IDT_ENTRY];
19 u16_t _idt_limit = sizeof(_idt) - 1;
279 exception_install_handler()
281 ISR_INSTALL(_idt, 0, _asm_isr0, 0)
282 ISR_INSTALL(_idt, 1, _asm_isr1, 0)
283 ISR_INSTALL(_idt, 2, _asm_isr2, 0)
284 ISR_INSTALL(_idt, 3, _asm_isr3, 0)
285 ISR_INSTALL(_idt, 4, _asm_isr4, 0)
286 ISR_INSTALL(_idt, 5, _asm_isr5, 0)
287 ISR_INSTALL(_idt, 6, _asm_isr6, 0)
288 ISR_INSTALL(_idt, 7, _asm_isr7, 0)
289 ISR_INSTALL(_idt, 8, _asm_isr8, 0)
290 ISR_INSTALL(_idt, 9, _asm_isr9, 0)
291 ISR_INSTALL(_idt, 10, _asm_isr10, 0)
292 ISR_INSTALL(_idt, 11, _asm_isr11, 0)
293 ISR_INSTALL(_idt, 12, _asm_isr12, 0)
294 ISR_INSTALL(_idt, 13, _asm_isr13, 0)
295 ISR_INSTALL(_idt, 14, _asm_isr14, 0)
296 ISR_INSTALL(_idt, 15, _asm_isr15, 0)
297 ISR_INSTALL(_idt, 16, _asm_isr16, 0)
298 ISR_INSTALL(_idt, 17, _asm_isr17, 0)
299 ISR_INSTALL(_idt, 18, _asm_isr18, 0)
300 ISR_INSTALL(_idt, 19, _asm_isr19, 0)
301 ISR_INSTALL(_idt, 20, _asm_isr20, 0)
302 ISR_INSTALL(_idt, 21, _asm_isr21, 0)
303 ISR_INSTALL(_idt, 22, _asm_isr22, 0)
304 ISR_INSTALL(_idt, 23, _asm_isr23, 0)
305 ISR_INSTALL(_idt, 24, _asm_isr24, 0)
306 ISR_INSTALL(_idt, 25, _asm_isr25, 0)
307 ISR_INSTALL(_idt, 26, _asm_isr26, 0)
308 ISR_INSTALL(_idt, 27, _asm_isr27, 0)
309 ISR_INSTALL(_idt, 28, _asm_isr28, 0)
310 ISR_INSTALL(_idt, 29, _asm_isr29, 0)
311 ISR_INSTALL(_idt, 30, _asm_isr30, 0)
312 ISR_INSTALL(_idt, 31, _asm_isr31, 0)
313 ISR_INSTALL(_idt, 32, _asm_isr32, 0)
314 ISR_INSTALL(_idt, 33, _asm_isr33, 3)
315 ISR_INSTALL(_idt, 34, _asm_isr34, 0)
316 ISR_INSTALL(_idt, 35, _asm_isr35, 0)
317 ISR_INSTALL(_idt, 36, _asm_isr36, 0)
318 ISR_INSTALL(_idt, 37, _asm_isr37, 0)
319 ISR_INSTALL(_idt, 38, _asm_isr38, 0)
320 ISR_INSTALL(_idt, 39, _asm_isr39, 0)
321 ISR_INSTALL(_idt, 40, _asm_isr40, 0)
322 ISR_INSTALL(_idt, 41, _asm_isr41, 0)
323 ISR_INSTALL(_idt, 42, _asm_isr42, 0)
324 ISR_INSTALL(_idt, 43, _asm_isr43, 0)
325 ISR_INSTALL(_idt, 44, _asm_isr44, 0)
326 ISR_INSTALL(_idt, 45, _asm_isr45, 0)
327 ISR_INSTALL(_idt, 46, _asm_isr46, 0)
328 ISR_INSTALL(_idt, 47, _asm_isr47, 0)
329 ISR_INSTALL(_idt, 48, _asm_isr48, 0)
330 ISR_INSTALL(_idt, 49, _asm_isr49, 0)
331 ISR_INSTALL(_idt, 50, _asm_isr50, 0)
332 ISR_INSTALL(_idt, 51, _asm_isr51, 0)
333 ISR_INSTALL(_idt, 52, _asm_isr52, 0)
334 ISR_INSTALL(_idt, 53, _asm_isr53, 0)
335 ISR_INSTALL(_idt, 54, _asm_isr54, 0)
336 ISR_INSTALL(_idt, 55, _asm_isr55, 0)
337 ISR_INSTALL(_idt, 56, _asm_isr56, 0)
338 ISR_INSTALL(_idt, 57, _asm_isr57, 0)
339 ISR_INSTALL(_idt, 58, _asm_isr58, 0)
340 ISR_INSTALL(_idt, 59, _asm_isr59, 0)
341 ISR_INSTALL(_idt, 60, _asm_isr60, 0)
342 ISR_INSTALL(_idt, 61, _asm_isr61, 0)
343 ISR_INSTALL(_idt, 62, _asm_isr62, 0)
344 ISR_INSTALL(_idt, 63, _asm_isr63, 0)
345 ISR_INSTALL(_idt, 64, _asm_isr64, 0)
346 ISR_INSTALL(_idt, 65, _asm_isr65, 0)
347 ISR_INSTALL(_idt, 66, _asm_isr66, 0)
348 ISR_INSTALL(_idt, 67, _asm_isr67, 0)
349 ISR_INSTALL(_idt, 68, _asm_isr68, 0)
350 ISR_INSTALL(_idt, 69, _asm_isr69, 0)
351 ISR_INSTALL(_idt, 70, _asm_isr70, 0)
352 ISR_INSTALL(_idt, 71, _asm_isr71, 0)
353 ISR_INSTALL(_idt, 72, _asm_isr72, 0)
354 ISR_INSTALL(_idt, 73, _asm_isr73, 0)
355 ISR_INSTALL(_idt, 74, _asm_isr74, 0)
356 ISR_INSTALL(_idt, 75, _asm_isr75, 0)
357 ISR_INSTALL(_idt, 76, _asm_isr76, 0)
358 ISR_INSTALL(_idt, 77, _asm_isr77, 0)
359 ISR_INSTALL(_idt, 78, _asm_isr78, 0)
360 ISR_INSTALL(_idt, 79, _asm_isr79, 0)
361 ISR_INSTALL(_idt, 80, _asm_isr80, 0)
362 ISR_INSTALL(_idt, 81, _asm_isr81, 0)
363 ISR_INSTALL(_idt, 82, _asm_isr82, 0)
364 ISR_INSTALL(_idt, 83, _asm_isr83, 0)
365 ISR_INSTALL(_idt, 84, _asm_isr84, 0)
366 ISR_INSTALL(_idt, 85, _asm_isr85, 0)
367 ISR_INSTALL(_idt, 86, _asm_isr86, 0)
368 ISR_INSTALL(_idt, 87, _asm_isr87, 0)
369 ISR_INSTALL(_idt, 88, _asm_isr88, 0)
370 ISR_INSTALL(_idt, 89, _asm_isr89, 0)
371 ISR_INSTALL(_idt, 90, _asm_isr90, 0)
372 ISR_INSTALL(_idt, 91, _asm_isr91, 0)
373 ISR_INSTALL(_idt, 92, _asm_isr92, 0)
374 ISR_INSTALL(_idt, 93, _asm_isr93, 0)
375 ISR_INSTALL(_idt, 94, _asm_isr94, 0)
376 ISR_INSTALL(_idt, 95, _asm_isr95, 0)
377 ISR_INSTALL(_idt, 96, _asm_isr96, 0)
378 ISR_INSTALL(_idt, 97, _asm_isr97, 0)
379 ISR_INSTALL(_idt, 98, _asm_isr98, 0)
380 ISR_INSTALL(_idt, 99, _asm_isr99, 0)
381 ISR_INSTALL(_idt, 100, _asm_isr100, 0)
382 ISR_INSTALL(_idt, 101, _asm_isr101, 0)
383 ISR_INSTALL(_idt, 102, _asm_isr102, 0)
384 ISR_INSTALL(_idt, 103, _asm_isr103, 0)
385 ISR_INSTALL(_idt, 104, _asm_isr104, 0)
386 ISR_INSTALL(_idt, 105, _asm_isr105, 0)
387 ISR_INSTALL(_idt, 106, _asm_isr106, 0)
388 ISR_INSTALL(_idt, 107, _asm_isr107, 0)
389 ISR_INSTALL(_idt, 108, _asm_isr108, 0)
390 ISR_INSTALL(_idt, 109, _asm_isr109, 0)
391 ISR_INSTALL(_idt, 110, _asm_isr110, 0)
392 ISR_INSTALL(_idt, 111, _asm_isr111, 0)
393 ISR_INSTALL(_idt, 112, _asm_isr112, 0)
394 ISR_INSTALL(_idt, 113, _asm_isr113, 0)
395 ISR_INSTALL(_idt, 114, _asm_isr114, 0)
396 ISR_INSTALL(_idt, 115, _asm_isr115, 0)
397 ISR_INSTALL(_idt, 116, _asm_isr116, 0)
398 ISR_INSTALL(_idt, 117, _asm_isr117, 0)
399 ISR_INSTALL(_idt, 118, _asm_isr118, 0)
400 ISR_INSTALL(_idt, 119, _asm_isr119, 0)
401 ISR_INSTALL(_idt, 120, _asm_isr120, 0)
402 ISR_INSTALL(_idt, 121, _asm_isr121, 0)
403 ISR_INSTALL(_idt, 122, _asm_isr122, 0)
404 ISR_INSTALL(_idt, 123, _asm_isr123, 0)
405 ISR_INSTALL(_idt, 124, _asm_isr124, 0)
406 ISR_INSTALL(_idt, 125, _asm_isr125, 0)
407 ISR_INSTALL(_idt, 126, _asm_isr126, 0)
408 ISR_INSTALL(_idt, 127, _asm_isr127, 0)
409 ISR_INSTALL(_idt, 128, _asm_isr128, 0)
410 ISR_INSTALL(_idt, 129, _asm_isr129, 0)
411 ISR_INSTALL(_idt, 130, _asm_isr130, 0)
412 ISR_INSTALL(_idt, 131, _asm_isr131, 0)
413 ISR_INSTALL(_idt, 132, _asm_isr132, 0)
414 ISR_INSTALL(_idt, 133, _asm_isr133, 0)
415 ISR_INSTALL(_idt, 134, _asm_isr134, 0)
416 ISR_INSTALL(_idt, 135, _asm_isr135, 0)
417 ISR_INSTALL(_idt, 136, _asm_isr136, 0)
418 ISR_INSTALL(_idt, 137, _asm_isr137, 0)
419 ISR_INSTALL(_idt, 138, _asm_isr138, 0)
420 ISR_INSTALL(_idt, 139, _asm_isr139, 0)
421 ISR_INSTALL(_idt, 140, _asm_isr140, 0)
422 ISR_INSTALL(_idt, 141, _asm_isr141, 0)
423 ISR_INSTALL(_idt, 142, _asm_isr142, 0)
424 ISR_INSTALL(_idt, 143, _asm_isr143, 0)
425 ISR_INSTALL(_idt, 144, _asm_isr144, 0)
426 ISR_INSTALL(_idt, 145, _asm_isr145, 0)
427 ISR_INSTALL(_idt, 146, _asm_isr146, 0)
428 ISR_INSTALL(_idt, 147, _asm_isr147, 0)
429 ISR_INSTALL(_idt, 148, _asm_isr148, 0)
430 ISR_INSTALL(_idt, 149, _asm_isr149, 0)
431 ISR_INSTALL(_idt, 150, _asm_isr150, 0)
432 ISR_INSTALL(_idt, 151, _asm_isr151, 0)
433 ISR_INSTALL(_idt, 152, _asm_isr152, 0)
434 ISR_INSTALL(_idt, 153, _asm_isr153, 0)
435 ISR_INSTALL(_idt, 154, _asm_isr154, 0)
436 ISR_INSTALL(_idt, 155, _asm_isr155, 0)
437 ISR_INSTALL(_idt, 156, _asm_isr156, 0)
438 ISR_INSTALL(_idt, 157, _asm_isr157, 0)
439 ISR_INSTALL(_idt, 158, _asm_isr158, 0)
440 ISR_INSTALL(_idt, 159, _asm_isr159, 0)
441 ISR_INSTALL(_idt, 160, _asm_isr160, 0)
442 ISR_INSTALL(_idt, 161, _asm_isr161, 0)
443 ISR_INSTALL(_idt, 162, _asm_isr162, 0)
444 ISR_INSTALL(_idt, 163, _asm_isr163, 0)
445 ISR_INSTALL(_idt, 164, _asm_isr164, 0)
446 ISR_INSTALL(_idt, 165, _asm_isr165, 0)
447 ISR_INSTALL(_idt, 166, _asm_isr166, 0)
448 ISR_INSTALL(_idt, 167, _asm_isr167, 0)
449 ISR_INSTALL(_idt, 168, _asm_isr168, 0)
450 ISR_INSTALL(_idt, 169, _asm_isr169, 0)
451 ISR_INSTALL(_idt, 170, _asm_isr170, 0)
452 ISR_INSTALL(_idt, 171, _asm_isr171, 0)
453 ISR_INSTALL(_idt, 172, _asm_isr172, 0)
454 ISR_INSTALL(_idt, 173, _asm_isr173, 0)
455 ISR_INSTALL(_idt, 174, _asm_isr174, 0)
456 ISR_INSTALL(_idt, 175, _asm_isr175, 0)
457 ISR_INSTALL(_idt, 176, _asm_isr176, 0)
458 ISR_INSTALL(_idt, 177, _asm_isr177, 0)
459 ISR_INSTALL(_idt, 178, _asm_isr178, 0)
460 ISR_INSTALL(_idt, 179, _asm_isr179, 0)
461 ISR_INSTALL(_idt, 180, _asm_isr180, 0)
462 ISR_INSTALL(_idt, 181, _asm_isr181, 0)
463 ISR_INSTALL(_idt, 182, _asm_isr182, 0)
464 ISR_INSTALL(_idt, 183, _asm_isr183, 0)
465 ISR_INSTALL(_idt, 184, _asm_isr184, 0)
466 ISR_INSTALL(_idt, 185, _asm_isr185, 0)
467 ISR_INSTALL(_idt, 186, _asm_isr186, 0)
468 ISR_INSTALL(_idt, 187, _asm_isr187, 0)
469 ISR_INSTALL(_idt, 188, _asm_isr188, 0)
470 ISR_INSTALL(_idt, 189, _asm_isr189, 0)
471 ISR_INSTALL(_idt, 190, _asm_isr190, 0)
472 ISR_INSTALL(_idt, 191, _asm_isr191, 0)
473 ISR_INSTALL(_idt, 192, _asm_isr192, 0)
474 ISR_INSTALL(_idt, 193, _asm_isr193, 0)
475 ISR_INSTALL(_idt, 194, _asm_isr194, 0)
476 ISR_INSTALL(_idt, 195, _asm_isr195, 0)
477 ISR_INSTALL(_idt, 196, _asm_isr196, 0)
478 ISR_INSTALL(_idt, 197, _asm_isr197, 0)
479 ISR_INSTALL(_idt, 198, _asm_isr198, 0)
480 ISR_INSTALL(_idt, 199, _asm_isr199, 0)
481 ISR_INSTALL(_idt, 200, _asm_isr200, 0)
482 ISR_INSTALL(_idt, 201, _asm_isr201, 0)
483 ISR_INSTALL(_idt, 202, _asm_isr202, 0)
484 ISR_INSTALL(_idt, 203, _asm_isr203, 0)
485 ISR_INSTALL(_idt, 204, _asm_isr204, 0)
486 ISR_INSTALL(_idt, 205, _asm_isr205, 0)
487 ISR_INSTALL(_idt, 206, _asm_isr206, 0)
488 ISR_INSTALL(_idt, 207, _asm_isr207, 0)
489 ISR_INSTALL(_idt, 208, _asm_isr208, 0)
490 ISR_INSTALL(_idt, 209, _asm_isr209, 0)
491 ISR_INSTALL(_idt, 210, _asm_isr210, 0)
492 ISR_INSTALL(_idt, 211, _asm_isr211, 0)
493 ISR_INSTALL(_idt, 212, _asm_isr212, 0)
494 ISR_INSTALL(_idt, 213, _asm_isr213, 0)
495 ISR_INSTALL(_idt, 214, _asm_isr214, 0)
496 ISR_INSTALL(_idt, 215, _asm_isr215, 0)
497 ISR_INSTALL(_idt, 216, _asm_isr216, 0)
498 ISR_INSTALL(_idt, 217, _asm_isr217, 0)
499 ISR_INSTALL(_idt, 218, _asm_isr218, 0)
500 ISR_INSTALL(_idt, 219, _asm_isr219, 0)
501 ISR_INSTALL(_idt, 220, _asm_isr220, 0)
502 ISR_INSTALL(_idt, 221, _asm_isr221, 0)
503 ISR_INSTALL(_idt, 222, _asm_isr222, 0)
504 ISR_INSTALL(_idt, 223, _asm_isr223, 0)
505 ISR_INSTALL(_idt, 224, _asm_isr224, 0)
506 ISR_INSTALL(_idt, 225, _asm_isr225, 0)
507 ISR_INSTALL(_idt, 226, _asm_isr226, 0)
508 ISR_INSTALL(_idt, 227, _asm_isr227, 0)
509 ISR_INSTALL(_idt, 228, _asm_isr228, 0)
510 ISR_INSTALL(_idt, 229, _asm_isr229, 0)
511 ISR_INSTALL(_idt, 230, _asm_isr230, 0)
512 ISR_INSTALL(_idt, 231, _asm_isr231, 0)
513 ISR_INSTALL(_idt, 232, _asm_isr232, 0)
514 ISR_INSTALL(_idt, 233, _asm_isr233, 0)
515 ISR_INSTALL(_idt, 234, _asm_isr234, 0)
516 ISR_INSTALL(_idt, 235, _asm_isr235, 0)
517 ISR_INSTALL(_idt, 236, _asm_isr236, 0)
518 ISR_INSTALL(_idt, 237, _asm_isr237, 0)
519 ISR_INSTALL(_idt, 238, _asm_isr238, 0)
520 ISR_INSTALL(_idt, 239, _asm_isr239, 0)
521 ISR_INSTALL(_idt, 240, _asm_isr240, 0)
522 ISR_INSTALL(_idt, 241, _asm_isr241, 0)
523 ISR_INSTALL(_idt, 242, _asm_isr242, 0)
524 ISR_INSTALL(_idt, 243, _asm_isr243, 0)
525 ISR_INSTALL(_idt, 244, _asm_isr244, 0)
526 ISR_INSTALL(_idt, 245, _asm_isr245, 0)
527 ISR_INSTALL(_idt, 246, _asm_isr246, 0)
528 ISR_INSTALL(_idt, 247, _asm_isr247, 0)
529 ISR_INSTALL(_idt, 248, _asm_isr248, 0)
530 ISR_INSTALL(_idt, 249, _asm_isr249, 0)
531 ISR_INSTALL(_idt, 250, _asm_isr250, 0)
532 ISR_INSTALL(_idt, 251, _asm_isr251, 0)
533 ISR_INSTALL(_idt, 252, _asm_isr252, 0)
534 ISR_INSTALL(_idt, 253, _asm_isr253, 0)
535 ISR_INSTALL(_idt, 254, _asm_isr254, 0)
536 ISR_INSTALL(_idt, 255, _asm_isr255, 0)