OSDN Git Service

995688ff3318371870bd45940dd4f75ec60b29a1
[hos/hos-v4a.git] / kernel / source / object / inh / exe_inh.c
1 /**
2  *  Hyper Operating System V4 Advance
3  *
4  * @file  exe_inh.c
5  * @brief %jp{割込みハンドラの処理}
6  *
7  * Copyright (C) 1998-2006 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #include "core/core.h"
13 #include "object/inhobj.h"
14
15
16 /* %jp{割込みハンドラの処理} */
17 void _kernel_exe_inh(INHNO inhno)
18 {
19         /* %jp{割込みハンドラの処理} */
20 #if _KERNEL_SPT_INH
21         {
22                 const _KERNEL_T_INHINF *pk_inhinf;
23         
24                 pk_inhinf = _KERNEL_INT_GET_INHINF(inhno);
25         
26                 if ( pk_inhinf->inthdr != NULL )
27                 {
28                         _KERNEL_ENA_INT();                      /* %jp{多重割込み許可} */
29                         pk_inhinf->inthdr();            /* %jp{割込みハンドラの処理} */
30                         _KERNEL_DIS_INT();                      /* %jp{割込み禁止} */
31                 }
32         }
33 #endif
34         
35         /* %jp{割込みコントローラの処理} */
36 #if _KERNEL_SPT_ISR
37         _KERNEL_EXE_IRC(inhno);
38 #endif
39
40 }
41
42
43 /* end of file */