OSDN Git Service

add microblaze
authorryuz <ryuz@users.sourceforge.jp>
Sun, 6 Feb 2011 16:19:55 +0000 (01:19 +0900)
committerryuz <ryuz@users.sourceforge.jp>
Sun, 6 Feb 2011 16:19:55 +0000 (01:19 +0900)
XILINX MicroBlze 対応作業開始

kernel/build/mb/mb_v8/gcc/Makefile [new file with mode: 0644]
kernel/include/arch/proc/mb/mb_v8/proc.h [new file with mode: 0644]
kernel/include/arch/proc/mb/mb_v8/procatr.h [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/kcre_ctx.S [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/kdis_int.S [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/kena_int.S [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/krst_ctx.S [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/kswi_ctx.S [new file with mode: 0644]
kernel/source/arch/proc/mb/mb_v8/gcc/kwai_int.S [new file with mode: 0644]

diff --git a/kernel/build/mb/mb_v8/gcc/Makefile b/kernel/build/mb/mb_v8/gcc/Makefile
new file mode 100644 (file)
index 0000000..12c331a
--- /dev/null
@@ -0,0 +1,152 @@
+# ----------------------------------------------------------------------------
+# Hyper Operating System V4 Advance
+#  makefile for XILINX Microblaze v8.0
+#
+# Copyright (C) 1998-2011 by Project HOS
+# http://sourceforge.jp/projects/hos/
+# ----------------------------------------------------------------------------
+
+
+
+# --------------------------------------
+#  %jp{各種設定}%en{setting}
+# --------------------------------------
+
+# %jp{ターゲットライブラリ名}%en{target library name}
+TARGET ?= libhosv4a
+
+
+# %jp{ツール定義}%jp{tools}
+GCC_ARCH ?= mb-
+CMD_CC   ?= $(GCC_ARCH)gcc
+CMD_ASM  ?= $(GCC_ARCH)gcc
+CMD_LIBR ?= $(GCC_ARCH)ar
+
+
+# %jp{アーキテクチャ定義}%en{architecture}
+ARCH_NAME ?= mb_v8
+ARCH_PROC ?= mb/mb_v8
+ARCH_IRC  ?= none
+ARCH_CC   ?= gcc
+
+
+# %jp{ディレクトリ定義}%en{directories}
+TOP_DIR           = ../../../../..
+KERNEL_DIR        = $(TOP_DIR)/kernel
+KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
+INC_PROC_DIR      = $(KERNEL_DIR)/include/arch/proc/$(ARCH_PROC)
+INC_IRC_DIR       = $(KERNEL_DIR)/include/arch/irc/$(ARCH_IRC)
+SRC_PROC_DIR      = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)
+SRC_PROC_CC_DIR   = $(KERNEL_DIR)/source/arch/proc/$(ARCH_PROC)/$(ARCH_CC)
+SRC_IRC_DIR       = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)
+SRC_IRC_CC_DIR    = $(KERNEL_DIR)/source/arch/irc/$(ARCH_IRC)/$(ARCH_CC)
+CFGRTR_DIR        = $(TOP_DIR)/cfgrtr/build/gcc
+
+
+# %jp{コンフィギュレータ定義}%en{kernel configurator}
+CFGRTR = h4acfg-$(ARCH_NAME)
+
+
+# %jp{カーネル指定}%en{kernel flag}
+KERNEL = Yes
+
+
+# %jp{共通定義読込み}%en{common setting}
+include $(KERNEL_MAKINC_DIR)/common.inc
+
+
+# %jp{パス設定}%en{add source directories}
+INC_DIRS += $(INC_PROC_DIR) $(INC_IRC_DIR)
+SRC_DIRS += $(SRC_PROC_DIR) $(SRC_PROC_DIR) $(SRC_PROC_CC_DIR) $(SRC_IRC_DIR) $(SRC_IRC_CC_DIR)
+
+
+# %jp{オプションフラグ}%en{option flags}
+AFLAGS  = -mcpu=v8.00.a
+CFLAGS  = -mcpu=v8.00.a
+ARFLAGS = 
+
+
+# %jp{コンパイラ依存の設定読込み}%en{compiler dependent definitions}
+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
+
+# %jp{ライブラリ生成用設定読込み}%en{definitions for library}
+include $(KERNEL_MAKINC_DIR)/maklib_d.inc
+
+
+
+
+# --------------------------------------
+#  %jp{ソースファイル}%en{source files}
+# --------------------------------------
+
+# %jp{アセンブラファイルの追加}%en{assembry sources}
+ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S
+ASRCS += $(SRC_PROC_CC_DIR)/kena_int.S
+ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.S
+ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.S
+ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.S
+ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.S
+#ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.S
+
+
+# %jp{C言語ファイルの追加}%en{C sources}
+#CSRCS += $(SRC_PROC_DIR)/val_int.c
+
+
+# %jp{カーネル共通ソースの追加}%en{kernel common sources}
+include $(KERNEL_MAKINC_DIR)/knlsrc.inc
+
+
+
+
+# --------------------------------------
+#  %jp{ルール定義}%en{rules}
+# --------------------------------------
+
+# %jp{ALL}%en{all}
+.PHONY : all
+all: makelib_all
+       $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC)
+
+# %jp{クリーン}%en{clean}
+.PHONY : clean
+clean: makelib_clean
+       $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
+       $(RM) -f *.lst
+
+# %jp{依存関係更新}%en{make depend}
+.PHONY : depend
+depend: makelib_depend
+
+# %jp{ソース一括コピー}%en{source files copy}
+.PHONY : srccpy
+srccpy: makelib_srccpy
+
+
+# %jp{ライブラリ生成用設定読込み}%en{rules for library}
+include $(KERNEL_MAKINC_DIR)/maklib_r.inc
+
+# %jp{コンパイラ依存のルール定義読込み}%en{rules for compiler}
+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
+
+
+
+
+# --------------------------------------
+#  %jp{依存関係}%en{dependency}
+# --------------------------------------
+
+# %jp{カーネル依存関係読込み}{dependency list of kernel sources}
+include $(KERNEL_MAKINC_DIR)/knldep.inc
+
+
+$(OBJS_DIR)/val_int.$(EXT_OBJ) :       $(COMMON_HEADERS)
+$(OBJS_DIR)/kini_irc.$(EXT_OBJ)        :       $(COMMON_HEADERS)
+$(OBJS_DIR)/kexe_irc.$(EXT_OBJ)        :       $(COMMON_HEADERS)
+$(OBJS_DIR)/ena_int.$(EXT_OBJ) :       $(COMMON_HEADERS)
+$(OBJS_DIR)/dis_int.$(EXT_OBJ) :       $(COMMON_HEADERS)
+$(OBJS_DIR)/vclr_int.$(EXT_OBJ)        :       $(COMMON_HEADERS)
+
+
+
+# end of file
diff --git a/kernel/include/arch/proc/mb/mb_v8/proc.h b/kernel/include/arch/proc/mb/mb_v8/proc.h
new file mode 100644 (file)
index 0000000..54ae474
--- /dev/null
@@ -0,0 +1,77 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  procatr.h
+ * @brief %jp{プロセッサアーキテクチャ固有機能(XILINX MicroBlaze)}
+ *
+ * Copyright (C) 1998-2011 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef _KERNEL__arch__proc__mb__mb__proc_h__
+#define _KERNEL__arch__proc__mb__mb__proc_h__
+
+
+/** %jp{コンテキスト情報保存ブロック}%en{Execution context control block} */
+typedef struct _kernel_t_ctxcb
+{
+       VP_INT  sp;
+} _KERNEL_T_CTXCB;
+
+/** %jp{割込みコンテキスト制御ブロック} */
+typedef struct _kernel_t_ictxcb
+{
+       H       imsk;
+       B       intcnt;
+       VP      isp;
+} _KERNEL_T_ICTXCB;
+
+
+extern _KERNEL_T_ICTXCB _kernel_ictxcb;                /**< %jp{割込みコンテキスト制御ブロック} */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void    _kernel_ena_int(void);                                                                                                                                         /**< %jp{割込み許可}%en{Enable interrupt} */
+void    _kernel_dis_int(void);                                                                                                                                         /**< %jp{割込み禁止}%en{Disable interrupt} */
+void    _kernel_wai_int(void);                                                                                                                                         /**< %jp{割込み待ち(アイドル時の処理)}%en{Wait for interrupt(sleep)} */
+                                                                                                    
+void    _kernel_cre_ctx(_KERNEL_T_CTXCB *pk_ctxcb, VP isp, FP entry, VP_INT par1, VP_INT par2);                /**< %jp{実行コンテキストの作成}%en{Create execution context)} */
+void    _kernel_sta_ctx(_KERNEL_T_CTXCB *pk_ctxcb);                                                                                                    /**< %jp{実行コンテキストの開始}%en{Stert context)} */
+void    _kernel_rst_ctx(VP_INT par1, VP_INT par2, VP isp, FP entry);                                                           /**< %jp{実行コンテキストのリスタート}%en{Restert context)} */
+void    _kernel_swi_ctx(_KERNEL_T_CTXCB *pk_ctxcb_nxt, _KERNEL_T_CTXCB *pk_ctxcb_now);                         /**< %jp{実行コンテキストの切替}%en{Switch context)} */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#define _KERNEL_INI_PRC()      do{}while(0)                                                                                                                    /**< %jp{プロセッサの初期化}%en{Initialize processor} */
+
+#define _KERNEL_INI_INT(stksz, stk)    do { _kernel_ictxcb.isp = (VB *)(stk) + (stksz); } while (0)
+#define _KERNEL_ENA_INT()                      _kernel_ena_int()                                                                                               /**< %jp{割込み許可}%en{Enable interrupt} */
+#define _KERNEL_DIS_INT()                      _kernel_dis_int()                                                                                               /**< %jp{割込み禁止}%en{Disable interrupt} */
+#define _KERNEL_WAI_INT()                      _kernel_wai_int()                                                                                               /**< %jp{割込み待ち(アイドル時の処理)}%en{Wait for interrupt(sleep)} */
+
+#define _KERNEL_CRE_CTX(pk_ctxcb, stksz, stk, isp, entry, par1, par2)          \
+                                                                       _kernel_cre_ctx((pk_ctxcb), (isp), (entry), (par1), (par2))             /**< %jp{実行コンテキスト生成}%en{Create execution context)} */
+#define _KERNEL_DEL_CTX(pk_ctxcb)      _kernel_del_ctx(pk_ctxcb)
+#define _KERNEL_RST_CTX(pk_ctxcb, stksz, stk, isp, entry, par1, par2)          \
+                                                                       _kernel_rst_ctx((par1), (par2), (isp), (entry))                                 /**< %jp{実行コンテキストリスタート}%en{Restert context)} */
+#define _KERNEL_STA_CTX(pk_ctxcb)      _kernel_sta_ctx(pk_ctxcb)
+#define _KERNEL_SWI_CTX(pk_ctxcb_now, pk_ctxcb_nxt)                                                    \
+                                                                       _kernel_swi_ctx((pk_ctxcb_nxt), (pk_ctxcb_now))                                 /**< %jp{コンテキストのスイッチ}%en{Switch context)} */
+
+
+
+
+#endif /* _KERNEL__arch__proc__mb__mb__proc_h__ */
+
+
+
+/* end of file */
diff --git a/kernel/include/arch/proc/mb/mb_v8/procatr.h b/kernel/include/arch/proc/mb/mb_v8/procatr.h
new file mode 100644 (file)
index 0000000..e1c5cc9
--- /dev/null
@@ -0,0 +1,52 @@
+/** 
+ *  Hyper Operating System V4 Advance
+ *
+ * @file  procatr.h
+ * @brief %jp{プロセッサアーキテクチャ固有属性定義(XILINX MicroBlaze)}
+ *
+ * Copyright (C) 1998-2006 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+#ifndef _KERNEL__arch__proc__mb__mb_v8__procatr_h__
+#define _KERNEL__arch__proc__mb__mb_v8__procatr_h__
+
+
+/* %jp{プロセッサアーキテクチャ定義のあるインクルードパス} */
+#define _KERNEL_PROCATR_INC_PATH                       "mb/mb_v8"
+
+
+/* %jp{プロセッサアーキテクチャに依存した属性} */
+#define _KERNEL_PROCATR_CTX_STK                                FALSE           /**< %jp{コンテキスト生成にスタック領域の指定が必要か?} */
+#define _KERNEL_PROCATR_CTX_STKSZ                      FALSE           /**< %jp{コンテキスト生成にスタックサイズの指定が必要か?} */
+#define _KERNEL_PROCATR_CTX_ISP                                TRUE            /**< %jp{コンテキスト生成に初期スタックポインタ値が必要か?} */
+#define _KERNEL_PROCATR_CTX_DEL                                FALSE           /**< %jp{別コンテキストからのコンテキスト削除が必要か?} */
+#define _KERNEL_PROCATR_CTX_RST                                TRUE            /**< %jp{自コンテキストのリスタートが可能か?} */
+
+#define _KERNEL_PROCATR_TMIN_STKSZ                     (4*32)          /**< %jp{最低限必要なスタックサイズ(byte単位)} */
+
+#define _KERNEL_PROCATR_SPT_SMP                                FALSE           /**< %jp{SMPに対応しているか?} */
+#define _KERNEL_PROCATR_SPT_MULTINT                    TRUE            /**< %jp{多重割込みに対応しているか?} */
+
+#define _KERNEL_PROCATR_TMIN_INHNO                     0                       /**< %jp{割込みハンドラ番号の最小値} */
+#define _KERNEL_PROCATR_TMAX_INHNO                     255                     /**< %jp{割込みハンドラ番号の最大値} */
+
+#define _KERNEL_PROCATR_TMIN_EXCNO                     0                       /**< %jp{CPU例外ハンドラ番号の最小値} */
+#define _KERNEL_PROCATR_TMAX_EXCNO                     0                       /**< %jp{CPU例外ハンドラ番号の最大値} */
+
+#define _KERNEL_PROCATR_EXCSTK_NUM                     0                       /**< %jp{CPU例外処理用スタックは何本必要か?} */
+#define _KERNEL_PROCATR_INTSTK_NUM                     1                       /**< %jp{割込みスタックは何本必要か?} */
+
+#define _KERNEL_PROCATR_SIGNED_INT                     0                       /**< %jp{符号付整数と符号無し整数のどちらが得意か?(符号付き:1, 符号無し:-1, 同じ:0)} */
+#define _KERNEL_PROCATR_TBIT_INT                       32                      /**< %jp{プロセッサに最適な整数型のビット数} */
+#define _KERNEL_PROCATR_TBIT_PTR                       32                      /**< %jp{ポインタのビット数} */
+#define _KERNEL_PROCATR_MEM_ALIGN                      8                       /**< %jp{適切なメモリのアライメント(byte単位)} */
+#define _KERNEL_PROCATR_STK_ALIGN                      4                       /**< %jp{適切なスタックのアライメント(byte単位)} */
+#define _KERNEL_PROCATR_ALLOW_UNALIGN          FALSE           /**< %jp{アンアラインアクセスは可能か?} */
+
+
+#endif /* _KERNEL__arch__proc__mb__mb_v8__procatr_h__ */
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/kcre_ctx.S b/kernel/source/arch/proc/mb/mb_v8/gcc/kcre_ctx.S
new file mode 100644 (file)
index 0000000..a60cd2d
--- /dev/null
@@ -0,0 +1,44 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 2011 by Project HOS       */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+                               .text
+
+
+/************************************************
+  実行コンテキストエントリーアドレス
+ ************************************************/
+                               .align  2
+ctx_entry:             
+                               addik   r5, r22, 0                              /* 実行時パラメータ1を設定 */
+                               brad    r21                                             /* 実行開始アドレスに分岐 */
+                               addik   r6, r23, 0                              /* 実行時パラメータ2を設定(遅延スロット) */
+
+
+/************************************************
+  実行コンテキストの作成
+  _kernel_cre_ctx(
+               _KERNEL_T_CTXCB *pk_ctxcb,      作成するコンテキスト [r5]
+               VP              isp,            初期スタックポインタ [r6]
+               FP              entry,          実行アドレス         [r7]
+               VP_INT          par1,           実行時パラメータ1    [r8]
+               VP_INT          par2)           実行時パラメータ2    [r9]
+ ************************************************/
+                               .align  2
+                               .global _kernel_cre_ctx
+_kernel_cre_ctx:
+                               addik   r6, r6, -40                             /* スタックに領域を確保 */
+                               addik   r3, r0, ctx_entry
+                               swi             r7, r6, 12                              /* 実行アドレスを r21 の領域に設定 */
+                               swi             r8, r6, 16                              /* 実行時パラメータ1を r22 の領域に設定 */
+                               swi             r9, r6, 20                              /* 実行時パラメータ2を r23 の領域に設定 */
+                               swi             r9, r6, 0                               /* 実行エントリポイントを r15 の領域に設定 */
+                               rtsd    r15, 8
+                               swi             r6, r5, 0                               /* スタックポインタを保存(遅延スロット) */
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/kdis_int.S b/kernel/source/arch/proc/mb/mb_v8/gcc/kdis_int.S
new file mode 100644 (file)
index 0000000..11a0278
--- /dev/null
@@ -0,0 +1,25 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 1998-2006 by Project HOS  */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+
+                               .text
+
+
+/************************************************
+  割り込み禁止
+  void _kernel_dis_int(void)
+ ************************************************/
+                               .align  2
+                               .global _kernel_dis_int
+_kernel_dis_int:
+                               rtsd    r15, 8
+                               msrclr  r3, 0x2000
+
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/kena_int.S b/kernel/source/arch/proc/mb/mb_v8/gcc/kena_int.S
new file mode 100644 (file)
index 0000000..bc122f3
--- /dev/null
@@ -0,0 +1,24 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 2011 by Project HOS       */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+
+                               .text
+
+
+/************************************************
+  割り込み許可
+  void _kernel_ena_int(void)
+ ************************************************/
+                               .align  2
+                               .global _kernel_ena_int
+_kernel_ena_int:
+                               rtsd    r15, 8
+                               msrset  r3, 0x2000
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/krst_ctx.S b/kernel/source/arch/proc/mb/mb_v8/gcc/krst_ctx.S
new file mode 100644 (file)
index 0000000..f390e1a
--- /dev/null
@@ -0,0 +1,30 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 2011 by Project HOS       */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+
+                               .text
+
+/************************************************
+ 実行コンテキストのリスタート
+ void _kernel_rst_ctx(
+               VP_INT par1,            実行時パラメータ1    [r5]
+               VP_INT par2,            実行時パラメータ2    [r6]
+               VP     isp,                     初期スタックポインタ [r7]
+               FP     entry)           実行アドレス         [r8]
+************************************************/
+                               .align  2
+                               .global _kernel_rst_ctx
+_kernel_rst_ctx:
+                               brad    r8                                              /* 実行アドレスに分岐 */
+                               addik   r15, r7, 0                              /* スタックポインタリセット(遅延スロット) */
+
+
+                               .end
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/kswi_ctx.S b/kernel/source/arch/proc/mb/mb_v8/gcc/kswi_ctx.S
new file mode 100644 (file)
index 0000000..46733ec
--- /dev/null
@@ -0,0 +1,65 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 2011 by Project HOS       */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+                               .text
+
+
+/************************************************
+ 実行コンテキストの切替
+ void _kernel_swi_ctx(
+               _KERNEL_T_CTXCB *pk_ctxcb_nxt,                  切り替え先のコンテキスト [r5]
+               _KERNEL_T_CTXCB *pk_ctxcb_now)                  現在のコンテキスト       [r6]
+************************************************/
+                               .align  2
+                               .global _kernel_swi_ctx
+_kernel_swi_ctx:
+                               addik   r1, r1, -56
+                               swi             r15, r1, 0                      /* 不揮発レジスタを退避 */
+                               swi             r19, r1, 4
+                               swi             r20, r1, 8
+                               swi             r21, r1, 12
+                               swi             r22, r1, 16
+                               swi             r23, r1, 20
+                               swi             r24, r1, 24
+                               swi             r25, r1, 28
+                               swi             r26, r1, 32
+                               swi             r27, r1, 36
+                               swi             r28, r1, 40
+                               swi             r29, r1, 44
+                               swi             r30, r1, 48
+                               swi             r31, r1, 52
+                               swi             r1, r6, 0                       /* スタックポインタ保存 */
+               /* ---- このまま _kernel_sta_ctx に続ける */
+
+/************************************************
+ 実行コンテキストの開始
+ void _kernel_sta_ctx(
+               _KERNEL_T_CTXCB *pk_ctxcb)              開始するコンテキスト [r5]
+************************************************/
+                               .global _kernel_sta_ctx
+_kernel_sta_ctx:
+                               lwi             r1, r5, 0
+                               lwi             r15, r1, 0                      /* 不揮発レジスタを復帰 */
+                               lwi             r19, r1, 4
+                               lwi             r20, r1, 8
+                               lwi             r21, r1, 12
+                               lwi             r22, r1, 16
+                               lwi             r23, r1, 20
+                               lwi             r24, r1, 24
+                               lwi             r25, r1, 28
+                               lwi             r26, r1, 32
+                               lwi             r27, r1, 36
+                               lwi             r28, r1, 40
+                               lwi             r29, r1, 44
+                               lwi             r30, r1, 48
+                               rtsd    r15, 8
+                               lwi             r31, r1, 52
+
+
+
+/* end of file */
diff --git a/kernel/source/arch/proc/mb/mb_v8/gcc/kwai_int.S b/kernel/source/arch/proc/mb/mb_v8/gcc/kwai_int.S
new file mode 100644 (file)
index 0000000..604938c
--- /dev/null
@@ -0,0 +1,24 @@
+/* ------------------------------------------------------------------------ */
+/* Hyper Operating System V4 Advance                                        */
+/*                                                                          */
+/*                                  Copyright (C) 1998-2006 by Project HOS  */
+/*                                  http://sourceforge.jp/projects/hos/     */
+/* ------------------------------------------------------------------------ */
+
+
+
+                               .text
+
+
+/************************************************
+ 割り込み待ち
+ void _kernel_wai_int(void)
+************************************************/
+                               .align  2
+                               .global _kernel_wai_int
+_kernel_wai_int:
+                               bri             _kernel_wai_int
+                               nop
+
+
+/* end of file */