OSDN Git Service

bb9436d6f2b67271a98dbcdd12f654d29ca4bdec
[hos/hos-v4a.git] / kernel / source / arch / irc / ia32 / pcat / kexe_irc.c
1 /** 
2  *  Hyper Operating System V4 Advance
3  *
4  * @file  kexe_irc.c
5  * @brief %jp{PC/AT互換機}%en{PC/AT}
6  *
7  * Copyright (C) 1998-2008 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #include "core/core.h"
13 #include "object/inhobj.h"
14 #include "object/isrobj.h"
15
16
17 /** %jp{割込みコントローラの割込み処理} */
18 void _kernel_exe_irc(INHNO inhno)
19 {
20         INTNO intno;
21         
22         intno = (inhno - _KERNEL_IRC_PIC1_VECT);
23         
24         /* %jp{割込みサービスルーチン呼び出し} */
25         _kernel_exe_isr(intno);
26         
27         /* EOI */
28         if ( intno < 8 )
29         {
30                 _kernel_outpb(_KERNEL_IRC_PIC1_OCW2, (inhno | 0x60));
31         }
32         else
33         {
34                 _kernel_outpb(_KERNEL_IRC_PIC2_OCW2, ((inhno - 8) | 0x60));
35                 _kernel_outpb(_KERNEL_IRC_PIC1_OCW2, 0x62);
36         }
37 }
38
39
40 /* end of file */