OSDN Git Service

(none)
authorryuz <ryuz>
Mon, 31 Mar 2008 13:06:49 +0000 (13:06 +0000)
committerryuz <ryuz>
Mon, 31 Mar 2008 13:06:49 +0000 (13:06 +0000)
aplfw/build/win/win32/msc/nmake.mak
kernel/build/win/win32/gcc/gmake.mak
kernel/build/win/win32/msc/nmake.mak
kernel/build/win/win32/vc60/hosv4a.dsp
kernel/include/arch/proc/win/win32/proc.h

index c1c3ab8..5f5b6df 100755 (executable)
@@ -35,16 +35,16 @@ INC_DIRS = $(INC_DIRS) $(KERNEL_DIR)\include
 
 
 # %jp{オプションフラグ}
-CFLAGS = $(CFLAGS)
-AFLAGS = $(AFLAGS)
-LFLAGS = $(LFLAGS)
+AFLAGS  = $(AFLAGS)
+CFLAGS  = $(CFLAGS)
+ARFLAGS = $(LFLAGS)
 
 
 # %jp{リンク制御対象制御}
 LINK_WINSOCK = Yes
 
 
-
+# %jp{ルール定義}
 all: makelib_all
 
 clean: makelib_clean
@@ -56,8 +56,9 @@ clean: makelib_clean
 
 # %jp{共通設定読込み}
 !include $(KERNEL_MAKINC_DIR)\makelib.inc
-!include $(HOSAPLFW_MKINK_DIR)\aplfwsrc.inc
 
+# %jp{共通ソース設定読込み}
+!include $(HOSAPLFW_MKINK_DIR)\aplfwsrc.inc
 
 # %jp{MS-C用のルール定義読込み}
 !include $(KERNEL_MAKINC_DIR)\msc_r.inc
index 5f6ef47..79c6c56 100755 (executable)
@@ -63,15 +63,25 @@ CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc
 CFGRTR     = h4acfg-win32
 
 
-# %jp{C言語ファイルの追加}
-CSRCS += $(SRC_PROC_DIR)/ctxctl.c
+# %jp{アセンブラファイルの追加}
+ASRCS += 
 
 
-# アセンブラファイルの追加
-ASRCS += 
+# %jp{C言語ファイルの追加}
+CSRCS += $(SRC_PROC_DIR)/vsig_int.c
+CSRCS += $(SRC_PROC_DIR)/val_int.c
+CSRCS += $(SRC_PROC_DIR)/kcre_ctx.c
+CSRCS += $(SRC_PROC_DIR)/kdis_int.c
+CSRCS += $(SRC_PROC_DIR)/kena_int.c
+CSRCS += $(SRC_PROC_DIR)/kini_prc.c
+CSRCS += $(SRC_PROC_DIR)/krst_ctx.c
+CSRCS += $(SRC_PROC_DIR)/ksta_ctx.c
+CSRCS += $(SRC_PROC_DIR)/kswi_ctx.c
+CSRCS += $(SRC_PROC_DIR)/kwai_int.c
+
 
 
-# カーネル共通ソースの追加
+# %jp{カーネル共通ソースの追加}
 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
 
 
@@ -86,6 +96,10 @@ clean: makelib_clean
        $(MAKE) -C $(CFGRTR_DIR) -f gmake.mak TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
        $(RM) -f *.lst
 
+# depend
+.PHONY : depend
+depend:
+
 
 # %jp{コンパイラ依存の設定読込み}
 include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
index 0811794..5251f23 100755 (executable)
@@ -57,9 +57,34 @@ CFGRTR_DIR = $(TOP_DIR)\cfgrtr\build\msc
 CFGRTR     = h4acfg-win32
 
 
-# %jp{オブジェクトファイル定義}
-OBJS   = $(OBJS)                                               \
-         $(OBJS_DIR)\ctxctl.obj                \
+
+# %jp{アセンブリ言語ファイルの追加}
+
+# %jp{C言語ファイルの追加}
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/vsig_int.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/val_int.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kcre_ctx.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kdis_int.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kena_int.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kini_prc.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/krst_ctx.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/ksta_ctx.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kswi_ctx.c
+CSRCS = $(CSRCS) $(SRC_PROC_DIR)/kwai_int.c
+
+# %jp{オブジェクトファイルの追加}
+OBJS = $(OBJS) $(OBJS_DIR)\vsig_int.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\vsig_int.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\val_int.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kcre_ctx.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kdis_int.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kena_int.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kini_prc.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\krst_ctx.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\ksta_ctx.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kswi_ctx.$(EXT_OBJ)
+OBJS = $(OBJS) $(OBJS_DIR)\kwai_int.$(EXT_OBJ)
+
 
 
 # %jp{ALL}
index 57486d4..c8ce25d 100755 (executable)
@@ -974,6 +974,9 @@ SOURCE=..\..\..\..\source\object\mtx\unl_mtx.c
 # Begin Group "arch"\r
 \r
 # PROP Default_Filter ""\r
+# Begin Group "irc"\r
+\r
+# PROP Default_Filter ""\r
 # Begin Group "simple"\r
 \r
 # PROP Default_Filter ""\r
@@ -1006,10 +1009,59 @@ SOURCE=..\..\..\..\source\arch\irc\simple\get_ilv.c
 SOURCE=..\..\..\..\source\arch\irc\simple\get_imsk.c\r
 # End Source File\r
 # End Group\r
+# End Group\r
+# Begin Group "proc"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Group "win"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Group "win32"\r
+\r
+# PROP Default_Filter ""\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kcre_ctx.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kdis_int.c\r
+# End Source File\r
 # Begin Source File\r
 \r
-SOURCE=..\..\..\..\source\arch\proc\win\win32\ctxctl.c\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kena_int.c\r
 # End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kini_prc.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\krst_ctx.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\ksta_ctx.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kswi_ctx.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\kwai_int.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\val_int.c\r
+# End Source File\r
+# Begin Source File\r
+\r
+SOURCE=..\..\..\..\source\arch\proc\win\win32\vsig_int.c\r
+# End Source File\r
+# End Group\r
+# End Group\r
+# End Group\r
 # End Group\r
 # End Group\r
 # End Target\r
index 6b9b7c0..fc19f34 100755 (executable)
 /** %jp{コンテキスト情報保存ブロック} */
 typedef struct _kernel_t_ctxcb
 {
-       BOOL    blInterrupt;            /**< %jp{割込み処理中フラグ} */
-
-       HANDLE  hEvent;                         /**< %jp{イベントハンドル} */
-       HANDLE  hThread;                        /**< %jp{スレッドハンドル} */
-       DWORD   dwThreadId;                     /**< %jp{スレッドID} */
-
-       HANDLE  hIntEvent;                      /**< %jp{イベントハンドル} */
-       HANDLE  hIntThread;                     /**< %jp{スレッドハンドル} */
-       DWORD   dwIntThreadId;          /**< %jp{スレッドID} */
-
-       FP      entry;                          /**< %jp{エントリーアドレス} */
-       VP_INT  exinf1;                         /**< %jp{パラメータ1} */
-       VP_INT  exinf2;                         /**< %jp{パラメータ2} */
-       jmp_buf jmpenv;                         /**< %jp{コンテキストリセット用のlongjmpデータ} */
+       FP                                      entry;                          /**< %jp{エントリーアドレス} */
+       VP_INT                          exinf1;                         /**< %jp{パラメータ1} */
+       VP_INT                          exinf2;                         /**< %jp{パラメータ2} */
+       jmp_buf                         jmpenv;                         /**< %jp{コンテキストリセット用のlongjmpデータ} */
+
+       BOOL                            blInterrupt;            /**< %jp{割込み処理中フラグ} */
+       HANDLE                          hEvent;                         /**< %jp{イベントハンドル} */
+       HANDLE                          hThread;                        /**< %jp{スレッドハンドル} */
+       DWORD                           dwThreadId;                     /**< %jp{スレッドID} */
+       HANDLE                          hIntEvent;                      /**< %jp{イベントハンドル} */
+       HANDLE                          hIntThread;                     /**< %jp{スレッドハンドル} */
+       DWORD                           dwIntThreadId;          /**< %jp{スレッドID} */
 } _KERNEL_T_CTXCB;
 
 
 /** %jp{割込みコンテキスト制御ブロック} */
 typedef struct _kernel_t_ictxcb
 {
-       CRITICAL_SECTION        CriticalSection;
        _KERNEL_T_CTXCB         *runctxcb;                      /**< %jp{実行中のコンテキスト} */
        INHNO                           inhno;
 
+       CRITICAL_SECTION        CriticalSection;        /**< %jp{クリティカルセクション} */
        HANDLE                          hSemIntLock;            /**< %jp{システムの排他制御用セマフォ} */
-
        volatile BOOL           blIntCtx;                       /**< %jp{割込み処理中フラグ} */
        volatile BOOL           blDisInt;                       /**< %jp{割込み禁止フラグ} */
        volatile BOOL           blIntDsp;                       /**< %jp{割込み時ディスパッチフラグ} */
@@ -68,19 +65,19 @@ extern _KERNEL_T_ICTXCB _kernel_ictxcb;             /**< %jp{割込みコンテキスト制
 extern "C" {
 #endif
 
-void    _kernel_ini_prc(void);                                                                                                                         /**< アーキテクチャ固有の初期化 */
+void    _kernel_ini_prc(void);                                                                                                                         /**< %jp{アーキテクチャ固有の初期化} */
 
-void    _kernel_ena_int(void);                                                                                                                         /**< 割り込み許可 */
-void    _kernel_dis_int(void);                                                                                                                         /**< 割り込み禁止 */
-void    _kernel_wai_int(void);                                                                                                                         /**< 割り込み待ち(アイドル時の処理) */
+void    _kernel_ena_int(void);                                                                                                                         /**< %jp{割り込み許可} */
+void    _kernel_dis_int(void);                                                                                                                         /**< %jp{割り込み禁止} */
+void    _kernel_wai_int(void);                                                                                                                         /**< %jp{割り込み待ち(アイドル時の処理)} */
 
-void    _kernel_cre_ctx(_KERNEL_T_CTXCB *ctxcb, FP entry, VP_INT exinf1, VP_INT exinf2);       /**< 実行コンテキストの作成 */
-void    _kernel_del_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< 実行コンテキストの削除 */
-void    _kernel_rst_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< 実行コンテキストのリスタート */
-void    _kernel_sta_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< 実行コンテキストの開始 */
-void    _kernel_swi_ctx(_KERNEL_T_CTXCB *ctxcb_now, _KERNEL_T_CTXCB *ctxinf_nxt);                      /**< 実行コンテキストの切替 */
+void    _kernel_cre_ctx(_KERNEL_T_CTXCB *ctxcb, FP entry, VP_INT exinf1, VP_INT exinf2);       /**< %jp{実行コンテキストの作成} */
+void    _kernel_del_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< %jp{実行コンテキストの削除} */
+void    _kernel_rst_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< %jp{実行コンテキストのリスタート} */
+void    _kernel_sta_ctx(_KERNEL_T_CTXCB *ctxcb);                                                                                       /**< %jp{実行コンテキストの開始} */
+void    _kernel_swi_ctx(_KERNEL_T_CTXCB *ctxcb_now, _KERNEL_T_CTXCB *ctxinf_nxt);                      /**< %jp{実行コンテキストの切替} */
 
-void     vsig_int(int inhno);          /* %jp{割り込み} */
+void     vsig_int(int inhno);                                                                                                                          /**< %jp{擬似割込みサポートAPI} */
 
 #ifdef __cplusplus
 }
@@ -90,9 +87,9 @@ void     vsig_int(int inhno);         /* %jp{割り込み} */
 #define _KERNEL_INI_PRC()                              _kernel_ini_prc()
 
 #define _KERNEL_INI_INT(stksz, stk)            do {} while(0)
-#define _KERNEL_ENA_INT()                              _kernel_ena_int()                                                                                               /**< 割り込み許可 */
-#define _KERNEL_DIS_INT()                              _kernel_dis_int()                                                                                               /**< 割り込み禁止 */
-#define _KERNEL_WAI_INT()                              _kernel_wai_int()                                                                                               /**< 割り込み待ち(アイドル時の処理) */
+#define _KERNEL_ENA_INT()                              _kernel_ena_int()                                                                       /**< %jp{割り込み許可} */
+#define _KERNEL_DIS_INT()                              _kernel_dis_int()                                                                       /**< %jp{割り込み禁止} */
+#define _KERNEL_WAI_INT()                              _kernel_wai_int()                                                                       /**< %jp{割り込み待ち(アイドル時の処理)} */
 
 
 #define _KERNEL_CRE_CTX(ctxcb, stksz, stk, isp, entry, par1, par2)             \