OSDN Git Service

debug MicroBlaze
[hos/hos-v4a.git] / kernel / source / object / inh / exe_inh.c
index 208c50d..d11784e 100755 (executable)
@@ -1,35 +1,47 @@
-/** 
+/**
  *  Hyper Operating System V4 Advance
  *
  * @file  exe_inh.c
- * @brief %jp{割込みハンドラの処理}
+ * @brief %jp{割込みハンドラの処理}
  *
  * Copyright (C) 1998-2006 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
 
-
 #include "core/core.h"
 #include "object/inhobj.h"
 
 
-
-/* %jp{割り込みハンドラの処理} */
+/* %jp{割込みハンドラの処理} */
 void _kernel_exe_inh(INHNO inhno)
 {
-       const _KERNEL_T_INHINF *pk_inhinf;
+       /* %jp{割込みハンドラの処理} */
+#if _KERNEL_SPT_INH
+       {
+               const _KERNEL_T_INHINF *pk_inhinf;
        
-       pk_inhinf = _KERNEL_INT_GET_INHINF(inhno);
+               pk_inhinf = _KERNEL_INT_GET_INHINF(inhno);
        
-       if ( pk_inhinf->inthdr != NULL )
-       {
-               _KERNEL_ENA_INT();                      /* %jp{多重割込み許可} */
-               pk_inhinf->inthdr(inhno);       /* %jp{割込みハンドラの処理} */
-               _KERNEL_DIS_INT();                      /* %jp{割込み禁止} */
+               if ( pk_inhinf->inthdr != NULL )
+               {
+#if _KERNEL_PROCATR_SPT_MULTINT
+                       _KERNEL_ENA_INT();                      /* %jp{多重割込み許可} */
+#endif
+                       pk_inhinf->inthdr();            /* %jp{割込みハンドラの処理} */
+#if _KERNEL_PROCATR_SPT_MULTINT
+                       _KERNEL_DIS_INT();                      /* %jp{割込み禁止} */
+#endif
+               }
        }
-}
+#endif
+       
+       /* %jp{割込みコントローラの処理} */
+#if _KERNEL_SPT_ISR
+       _KERNEL_EXE_IRC(inhno);
+#endif
 
+}
 
 
 /* end of file */