OSDN Git Service

(none)
authorryuz <ryuz>
Tue, 20 Mar 2007 15:24:39 +0000 (15:24 +0000)
committerryuz <ryuz>
Tue, 20 Mar 2007 15:24:39 +0000 (15:24 +0000)
kernel/build/arm/aduc7000/armcc/gmake.mak
kernel/build/arm/aduc7000/gcc/gmake.mak
kernel/source/arch/irc/arm/aduc7000/aduc7000.h [new file with mode: 0755]
kernel/source/arch/irc/arm/aduc7000/dis_int.c [new file with mode: 0755]
kernel/source/arch/irc/arm/aduc7000/ena_int.c [new file with mode: 0755]
kernel/source/arch/irc/arm/aduc7000/intc.c [deleted file]
kernel/source/arch/irc/arm/aduc7000/karm_fiq.c [new file with mode: 0755]
kernel/source/arch/irc/arm/aduc7000/karm_irq.c [new file with mode: 0755]
kernel/source/arch/irc/arm/aduc7000/kini_irc.c [new file with mode: 0755]

index f3a3dd0..acf7c7c 100755 (executable)
@@ -56,7 +56,11 @@ include $(KERNEL_MAKINC_DIR)/armcc_def.inc
 
 # C言語ファイルの追加
 CSRCS += $(SRC_PROC_DIR)/val_int.c                     \
-         $(SRC_IRC_DIR)/intc.c
+         $(SRC_IRC_DIR)/kini_irc.c                     \
+         $(SRC_IRC_DIR)/karm_irq.c                     \
+         $(SRC_IRC_DIR)/karm_fiq.c                     \
+         $(SRC_IRC_DIR)/ena_int.c                      \
+         $(SRC_IRC_DIR)/dis_int.c
 
 
 # アセンブラファイルの追加
@@ -98,5 +102,12 @@ include $(KERNEL_MAKINC_DIR)/armcc_rul.inc
 include $(KERNEL_MAKINC_DIR)/knldep.inc
 
 
+# %jp{固有の依存関係}
+$(OBJS_DIR)/kini_irc.(EXT_OBJ):        $(SRC_IRC_DIR)/kini_irc.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/karm_irq.(EXT_OBJ):        $(SRC_IRC_DIR)/karm_irq.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/karm_fiq.(EXT_OBJ):        $(SRC_IRC_DIR)/karm_fiq.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/ena_int.(EXT_OBJ): $(SRC_IRC_DIR)/ena_int.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/dis_int.(EXT_OBJ): $(SRC_IRC_DIR)/dis_int.c $(SRC_IRC_DIR)/aduc7000.h
+
 
 # end of file
index 002d7a8..31143ff 100755 (executable)
@@ -57,7 +57,12 @@ CFGRTR     = h4acfg-aduc7000
 
 # C言語ファイルの追加
 CSRCS += $(SRC_PROC_DIR)/val_int.c                     \
-         $(SRC_IRC_DIR)/intc.c
+         $(SRC_IRC_DIR)/kini_irc.c                     \
+         $(SRC_IRC_DIR)/karm_irq.c                     \
+         $(SRC_IRC_DIR)/karm_fiq.c                     \
+         $(SRC_IRC_DIR)/ena_int.c                      \
+         $(SRC_IRC_DIR)/dis_int.c
+
 
 # アセンブラファイルの追加
 ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S         \
@@ -106,4 +111,12 @@ include $(KERNEL_MAKINC_DIR)/gcc_rul.inc
 include $(KERNEL_MAKINC_DIR)/knldep.inc
 
 
+# %jp{固有の依存関係}
+$(OBJS_DIR)/kini_irc.(EXT_OBJ):        $(SRC_IRC_DIR)/kini_irc.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/karm_irq.(EXT_OBJ):        $(SRC_IRC_DIR)/karm_irq.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/karm_fiq.(EXT_OBJ):        $(SRC_IRC_DIR)/karm_fiq.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/ena_int.(EXT_OBJ): $(SRC_IRC_DIR)/ena_int.c $(SRC_IRC_DIR)/aduc7000.h
+$(OBJS_DIR)/dis_int.(EXT_OBJ): $(SRC_IRC_DIR)/dis_int.c $(SRC_IRC_DIR)/aduc7000.h
+
+
 # end of file
diff --git a/kernel/source/arch/irc/arm/aduc7000/aduc7000.h b/kernel/source/arch/irc/arm/aduc7000/aduc7000.h
new file mode 100755 (executable)
index 0000000..e29f684
--- /dev/null
@@ -0,0 +1,42 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  aduc7000.h
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef _kernel__aduc7000_h__
+#define _kernel__aduc7000_h__
+
+
+#define IRQSTA         (*(volatile UW *)0xffff0000)
+#define IRQSIG         (*(volatile UW *)0xffff0004)
+#define IRQEN          (*(volatile UW *)0xffff0008)
+#define IRQCLR         (*(volatile UW *)0xffff000c)
+
+#define FIQSTA         (*(volatile UW *)0xffff0100)
+#define FIQSIG         (*(volatile UW *)0xffff0104)
+#define FIQEN          (*(volatile UW *)0xffff0108)
+#define FIQCLR         (*(volatile UW *)0xffff010c)
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void _kernel_arm_irq(void);
+void _kernel_arm_fiq(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /*  _kernel__aduc7000_h__ */
+
+
+/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/dis_int.c b/kernel/source/arch/irc/arm/aduc7000/dis_int.c
new file mode 100755 (executable)
index 0000000..460cb1f
--- /dev/null
@@ -0,0 +1,29 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  dis_int.c
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "core/core.h"
+#include "object/inhobj.h"
+#include "object/isrobj.h"
+#include "aduc7000.h"
+
+
+
+/* 割り込みの禁止 */
+ER dis_int(INTNO intno)
+{
+       IRQCLR = (1 << intno);
+
+       return E_OK;
+}
+
+
+
+/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/ena_int.c b/kernel/source/arch/irc/arm/aduc7000/ena_int.c
new file mode 100755 (executable)
index 0000000..52e4783
--- /dev/null
@@ -0,0 +1,27 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  ena_int.c
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "core/core.h"
+#include "object/inhobj.h"
+#include "object/isrobj.h"
+#include "aduc7000.h"
+
+
+/* 割り込みの許可 */
+ER ena_int(INTNO intno)
+{
+       IRQEN |= (1 << intno);
+       
+       return E_OK;
+}
+
+
+/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/intc.c b/kernel/source/arch/irc/arm/aduc7000/intc.c
deleted file mode 100755 (executable)
index c7296d4..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-/** 
- *  Hyper Operating System V4 Advance
- *
- * @file  intc.h
- * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
- *
- * Copyright (C) 1998-2006 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#include "core/core.h"
-#include "object/inhobj.h"
-#include "object/isrobj.h"
-
-
-#define IRQSTA         (*(volatile UW *)0xffff0000)
-#define IRQSIG         (*(volatile UW *)0xffff0004)
-#define IRQEN          (*(volatile UW *)0xffff0008)
-#define IRQCLR         (*(volatile UW *)0xffff000c)
-
-#define FIQSTA         (*(volatile UW *)0xffff0100)
-#define FIQSIG         (*(volatile UW *)0xffff0104)
-#define FIQEN          (*(volatile UW *)0xffff0108)
-#define FIQCLR         (*(volatile UW *)0xffff010c)
-
-
-
-void _kernel_arm_irq(void);
-void _kernel_arm_fiq(void);
-
-
-/** %jp{割込みコントローラの初期化} */
-void _kernel_ini_irc(void)
-{
-       IRQCLR = 0x00ffffff;
-       FIQCLR = 0x00ffffff;
-       
-       _kernel_inh_tbl[_KERNEL_ARM_INHNO_IRQ].inthdr = (FP)_kernel_arm_irq;
-       _kernel_inh_tbl[_KERNEL_ARM_INHNO_FIQ].inthdr = (FP)_kernel_arm_fiq;
-}
-
-void _kernel_exe_irc(INHNO inhno)
-{
-       switch ( inhno )
-       {
-       case _KERNEL_ARM_INHNO_IRQ:
-               _kernel_arm_irq();
-               break;
-
-       case _KERNEL_ARM_INHNO_FIQ:
-               _kernel_arm_fiq();
-               break;
-       }
-}
-
-
-/** %jp{IRQ割り込み処理開始} */
-void _kernel_arm_irq(void)
-{
-       INTNO intno;
-       UW    irqsta;
-       
-       irqsta = IRQSTA;
-       
-       /* 割り込み番号取得 */
-       for ( intno = 0; intno <= 23; intno++ )
-       {
-               if ( irqsta & 1 )
-               {
-                       /* 割込みサービスルーチン呼び出し */
-                       _kernel_exe_isr(intno);
-               }
-               
-               irqsta >>= 1;
-       }
-}
-
-
-/* FIQ割り込み処理開始 */
-void _kernel_arm_fiq(void)
-{
-       INTNO intno;
-       UW    fiqsta;
-       
-       fiqsta = FIQSTA;
-       
-       /* 割り込み番号取得 */
-       for ( intno = 0; intno <= 23; intno++ )
-       {
-               if ( fiqsta & 1 )
-               {
-                       /* 割込みサービスルーチン呼び出し */
-                       _kernel_exe_isr(intno);
-               }
-               
-               fiqsta >>= 1;
-       }
-}
-
-
-/* 割り込みの許可 */
-ER ena_int(INTNO intno)
-{
-       IRQEN |= (1 << intno);
-       
-       return E_OK;
-}
-
-
-/* 割り込みの禁止 */
-ER dis_int(INTNO intno)
-{
-       IRQCLR = (1 << intno);
-
-       return E_OK;
-}
-
-
-
-/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/karm_fiq.c b/kernel/source/arch/irc/arm/aduc7000/karm_fiq.c
new file mode 100755 (executable)
index 0000000..a6f4cb8
--- /dev/null
@@ -0,0 +1,41 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  intc.h
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "core/core.h"
+#include "object/inhobj.h"
+#include "object/isrobj.h"
+#include "aduc7000.h"
+
+
+/* FIQ割り込み処理開始 */
+void _kernel_arm_fiq(void)
+{
+       INTNO intno;
+       UW    fiqsta;
+       
+       fiqsta = FIQSTA;
+       
+       /* 割り込み番号取得 */
+       for ( intno = 0; intno <= 23; intno++ )
+       {
+               if ( fiqsta & 1 )
+               {
+                       /* 割込みサービスルーチン呼び出し */
+                       _kernel_exe_isr(intno);
+               }
+               
+               fiqsta >>= 1;
+       }
+}
+
+
+
+/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/karm_irq.c b/kernel/source/arch/irc/arm/aduc7000/karm_irq.c
new file mode 100755 (executable)
index 0000000..77c534e
--- /dev/null
@@ -0,0 +1,40 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  intc.h
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "core/core.h"
+#include "object/inhobj.h"
+#include "object/isrobj.h"
+#include "aduc7000.h"
+
+
+/** %jp{IRQ割り込み処理開始} */
+void _kernel_arm_irq(void)
+{
+       INTNO intno;
+       UW    irqsta;
+       
+       irqsta = IRQSTA;
+       
+       /* 割り込み番号取得 */
+       for ( intno = 0; intno <= 23; intno++ )
+       {
+               if ( irqsta & 1 )
+               {
+                       /* 割込みサービスルーチン呼び出し */
+                       _kernel_exe_isr(intno);
+               }
+               
+               irqsta >>= 1;
+       }
+}
+
+
+/* end of file */
diff --git a/kernel/source/arch/irc/arm/aduc7000/kini_irc.c b/kernel/source/arch/irc/arm/aduc7000/kini_irc.c
new file mode 100755 (executable)
index 0000000..7fea959
--- /dev/null
@@ -0,0 +1,44 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  intc.h
+ * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
+ *
+ * Copyright (C) 1998-2007 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#include "core/core.h"
+#include "object/inhobj.h"
+#include "object/isrobj.h"
+#include "aduc7000.h"
+
+
+/** %jp{割込みコントローラの初期化} */
+void _kernel_ini_irc(void)
+{
+       IRQCLR = 0x00ffffff;
+       FIQCLR = 0x00ffffff;
+       
+       _kernel_inh_tbl[_KERNEL_ARM_INHNO_IRQ].inthdr = (FP)_kernel_arm_irq;
+       _kernel_inh_tbl[_KERNEL_ARM_INHNO_FIQ].inthdr = (FP)_kernel_arm_fiq;
+}
+
+void _kernel_exe_irc(INHNO inhno)
+{
+       switch ( inhno )
+       {
+       case _KERNEL_ARM_INHNO_IRQ:
+               _kernel_arm_irq();
+               break;
+
+       case _KERNEL_ARM_INHNO_FIQ:
+               _kernel_arm_fiq();
+               break;
+       }
+}
+
+
+
+/* end of file */