Index: /asp_nios2/trunk/arch/nios2_gcc/Makefile.prc
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/Makefile.prc	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/Makefile.prc	(revision 1)
@@ -14,9 +14,4 @@
 
 #
-#  プロセッサ依存部ディレクトリ名の定義  
-#
-PRCDIR = $(SRCDIR)/arch/$(PRC)_$(TOOL)
-
-#
 #  コンパイルオプション
 #
@@ -29,5 +24,5 @@
 #  カーネルに関する定義
 #
-KERNEL_DIR := $(KERNEL_DIR) $(PRCDIR)
+KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/$(PRC)_$(TOOL)
 KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) prc_support.o
 KERNEL_COBJS := $(KERNEL_COBJS) prc_config.o avalon_timer.o
@@ -59,13 +54,2 @@
 #
 kernel_cfg.timestamp: $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc.tf
-$(OBJFILE): $(PRCDIR)/prc_check.tf 
-
-#  
-#  コンフィギュレータ関係の変数の定義  
-#  
-CFG_TABS := $(CFG_TABS) --cfg1-def-table $(PRCDIR)/prc_def.csv   
-
-# 
-#  オフセットファイル生成のための定義 
-# 
-OFFSET_TF = $(PRCDIR)/prc_offset.tf 
Index: /asp_nios2/trunk/arch/nios2_gcc/makeoffset.c
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/makeoffset.c	(revision 1)
+++ /asp_nios2/trunk/arch/nios2_gcc/makeoffset.c	(revision 1)
@@ -0,0 +1,84 @@
+/*
+ *  TOPPERS Software
+ *      Toyohashi Open Platform for Embedded Real-Time Systems
+ * 
+ * 
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ * 
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ * 
+ *  @(#) $Id$
+ */
+
+#include "kernel_impl.h"
+#include "task.h"
+
+#define OFFSET_DEF(TYPE, FIELD)                            \
+    Asm("OFFSET_DEF " #TYPE "_" #FIELD " = %0"            \
+      : /* no output */                                    \
+      : "g"(offsetof(TYPE, FIELD)))
+
+#define OFFSET_DEF2(TYPE, FIELD, FIELDNAME)                \
+    Asm("OFFSET_DEF " #TYPE "_" #FIELDNAME " = %0"        \
+      : /* no output */                                    \
+      : "g"(offsetof(TYPE, FIELD)))
+
+void
+makeoffset(void)
+{
+    OFFSET_DEF(TCB, p_tinib);
+    OFFSET_DEF(TCB, texptn);
+    OFFSET_DEF2(TCB, tskctxb.sp, sp);
+    OFFSET_DEF2(TCB, tskctxb.pc, pc);
+
+    OFFSET_DEF(TINIB, exinf);
+    OFFSET_DEF(TINIB, task);
+}
+
+uint32_t    BIT_REF_4 = 0x12345678;
+uint16_t    BIT_REF_2 = 0x1234;
+uint8_t     BIT_REF_1 = 0x12;
+
+TCB	BIT_BB_TCB_enatex = {
+	{ NULL, NULL },			/* task_queue */
+	NULL,					/* p_tinib */
+	0U,						/* tstat */
+#ifdef TOPPERS_SUPPORT_MUTEX
+	0U,						/* bpriority */
+#endif /* TOPPERS_SUPPORT_MUTEX */
+	0U,						/* priority */
+	false,					/* acqeue */
+	false,					/* wupque */
+	true,					/* enatex */
+	0U,						/* texprn */
+	NULL,					/* p_winifo */
+#ifdef TOPPERS_SUPPORT_MUTEX
+	{ NULL, NULL },			/* mutex_queue */
+#endif /* TOPPERS_SUPPORT_MUTEX */
+	{ NULL, NULL }			/* tskctxb */
+};
Index: /asp_nios2/trunk/arch/nios2_gcc/prc.tf
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc.tf	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc.tf	(revision 1)
@@ -29,4 +29,9 @@
 $ 
 $INHNO_DEFINH_VALID = INHNO_VALID$
+
+$ 
+$  チェック方法の指定
+$ 
+$CHECK_STKSZ_ALIGN = 4$
 
 $ 
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_cfg1_out.h
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_cfg1_out.h	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_cfg1_out.h	(revision 1)
@@ -9,28 +9,2 @@
 void sta_ker(void){}
 STK_T *const	_kernel_istkpt = 0x00;
-
-/*  
- *  オフセットファイルを生成するための定義  
- */
-const uint8_t   MAGIC_1 = 0x12; 
-const uint16_t  MAGIC_2 = 0x1234; 
-const uint32_t  MAGIC_4 = 0x12345678;
-
-const TCB	TCB_enatex = {
-	{ NULL, NULL },			/* task_queue */
-	NULL,					/* p_tinib */
-	0U,						/* tstat */
-#ifdef TOPPERS_SUPPORT_MUTEX
-	0U,						/* bpriority */
-#endif /* TOPPERS_SUPPORT_MUTEX */
-	0U,						/* priority */
-	false,					/* acqeue */
-	false,					/* wupque */
-	true,					/* enatex */
-	0U,						/* texprn */
-	NULL,					/* p_winifo */
-#ifdef TOPPERS_SUPPORT_MUTEX
-	{ NULL, NULL },			/* mutex_queue */
-#endif /* TOPPERS_SUPPORT_MUTEX */
-	{ NULL, NULL }			/* tskctxb */
-};
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_check.tf
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_check.tf	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_check.tf	(revision 1)
@@ -4,4 +4,14 @@
 
 $ 
+$  `FbNû@Ìwè
+$ 
+$CHECK_FUNC_ALIGN = 4$
+$CHECK_FUNC_NONNULL = 1$
+$CHECK_STACK_ALIGN = 4$
+$CHECK_STACK_NONNULL = 1$
+$CHECK_MPF_ALIGN = 4$
+$CHECK_MPF_NONNULL = 1$
+
+$ 
 $  Wev[gt@CÌCN[h
 $ 
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_config.h
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_config.h	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_config.h	(revision 1)
@@ -4,5 +4,5 @@
  *      Advanced Standard Profile Kernel
  *
- *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  *
@@ -53,16 +53,4 @@
 
 /*
- *  エラーチェック方法の指定
- */
-#define CHECK_STKSZ_ALIGN	8	/* スタックサイズのアライン単位 */
-#define CHECK_FUNC_ALIGN	4	/* 関数のアライン単位 */
-#define CHECK_FUNC_NONNULL		/* 関数の非NULLチェック */
-#define CHECK_STACK_ALIGN	4	/* スタック領域のアライン単位 */
-#define CHECK_STACK_NONNULL		/* スタック領域の非NULLチェック */
-#define CHECK_MPF_ALIGN		4	/* 固定長メモリプール領域のアライン単位 */
-#define CHECK_MPF_NONNULL		/* 固定長メモリプール領域の非NULLチェック */
-#define CHECK_MB_ALIGN		4	/* 管理領域のアライン単位 */
-
-/*
  *  例外の個数
  */
@@ -473,4 +461,21 @@
 
 /*
+ *  CPU例外の発生した時のコンテキストと割込み／CPUロック状態の参照
+ *
+ *  CPU例外の発生した時のシステム状態が，カーネル実行中でなく，タスクコ
+ *  ンテキストであり，割込みロック状態でなく，CPUロック状態でない時に
+ *  true，そうでない時にfalseを返す（CPU例外がカーネル管理外の割込み処
+ *  理中で発生した場合にもfalseを返す）．
+ *
+ */
+Inline bool_t
+exc_sense_unlock(void *p_excinf)
+{
+	return(!exc_sense_context(p_excinf)
+		   && !exc_sense_lock(p_excinf)
+		   && !exc_sense_int_lock(p_excinf));
+}
+
+/*
  *  プロセッサ依存の初期化
  */
@@ -534,5 +539,5 @@
 	void	*sp;		/* スタックポインタ */
 	FP		pc;			/* プログラムカウンタ */
-} TSKCTXB;
+} CTXB;
      
 /*
Index: p_nios2/trunk/arch/nios2_gcc/prc_def.csv
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_def.csv	(revision 473)
+++ 	(revision )
@@ -1,5 +1,0 @@
-sizeof_TCB,sizeof(TCB)
-offsetof_TCB_p_tinib,"offsetof(TCB,p_tinib)"
-offsetof_TCB_texptn,"offsetof(TCB,texptn)"
-offsetof_TCB_sp,"offsetof(TCB,tskctxb.sp)"
-offsetof_TCB_pc,"offsetof(TCB,tskctxb.pc)"
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_kernel.h
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_kernel.h	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_kernel.h	(revision 1)
@@ -54,7 +54,7 @@
  *  サポートする機能の定義
  */
-#define TOPPERS_TARGET_SUPPORT_DIS_INT			/* dis_intをサポートする */
-#define TOPPERS_TARGET_SUPPORT_ENA_INT			/* ena_intをサポートする */
-#define TOPPERS_TARGET_SUPPORT_GET_UTM			/* get_utmをサポートする */
+#define TOPPERS_SUPPORT_DIS_INT			/* dis_intをサポートする */
+#define TOPPERS_SUPPORT_ENA_INT			/* ena_intをサポートする */
+#define TOPPERS_SUPPORT_GET_UTM			/* get_utmをサポートする */
 
 /*
Index: p_nios2/trunk/arch/nios2_gcc/prc_offset.tf
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_offset.tf	(revision 473)
+++ 	(revision )
@@ -1,24 +1,0 @@
-$ 
-$       オフセットファイル生成用テンプレートファイル（Nios2用）
-$ 
-
-$ 
-$  標準テンプレートファイルのインクルード
-$ 
-$INCLUDE "kernel/genoffset.tf"$
-
-$ 
-$  オフセット値のマクロ定義の生成
-$ 
-$DEFINE("TCB_p_tinib", offsetof_TCB_p_tinib)$
-$DEFINE("TCB_texptn", offsetof_TCB_texptn)$
-$DEFINE("TCB_sp", offsetof_TCB_sp)$
-$DEFINE("TCB_pc", offsetof_TCB_pc)$
-
-$DEFINE("TINIB_exinf", offsetof_TINIB_exinf)$
-$DEFINE("TINIB_task", offsetof_TINIB_task)$
-
-$ 
-$  ビットオフセット値等のマクロ定義の生成
-$ 
-$DEFINE_BIT("TCB_enatex", sizeof_TCB, "B")$
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_rename.def
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_rename.def	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_rename.def	(revision 1)
@@ -9,6 +9,4 @@
 exch_tbl
 int_bitmap_search_table
-default_exc_handler
-default_int_handler
 
 prc_initialize
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_rename.h
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_rename.h	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_rename.h	(revision 1)
@@ -16,6 +16,4 @@
 #define exch_tbl					_kernel_exch_tbl
 #define int_bitmap_search_table		_kernel_int_bitmap_search_table
-#define default_exc_handler			_kernel_default_exc_handler
-#define default_int_handler			_kernel_default_int_handler
 
 #define prc_initialize				_kernel_prc_initialize
@@ -44,6 +42,4 @@
 #define _exch_tbl					__kernel_exch_tbl
 #define _int_bitmap_search_table	__kernel_int_bitmap_search_table
-#define _default_exc_handler		__kernel_default_exc_handler
-#define _default_int_handler		__kernel_default_int_handler
 
 #define _prc_initialize				__kernel_prc_initialize
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_support.S
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_support.S	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_support.S	(revision 1)
@@ -4,5 +4,5 @@
  *      Advanced Standard Profile Kernel
  *
- *  Copyright (C) 2008-2011 by Embedded and Real-Time Systems Laboratory
+ *  Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
  *              Graduate School of Information Science, Nagoya Univ., JAPAN
  *
@@ -56,9 +56,4 @@
 
 /*
- * 標準外の例外を用いる
- */
-#define USE_EXTRA_EXCEPTION
-
-/*
  * スタック操作 : プッシュ
  */
@@ -98,5 +93,4 @@
 interrupt:
 	addi ea, ea, -4      /* 戻り番地をデクリメント */
-
 	/*
 	 *  コンテキストの保存
@@ -123,4 +117,25 @@
 	stw   ra,  68(sp)
 	stw   ea,  72(sp)
+
+	/*
+	 *  多重割込みか判定
+	 */
+	ldw   r3, %gprel(except_nest_count)(gp)  /* ネスト回数のチェック */
+	bltu  zero, r3,  nest_int
+
+	/*
+	 * スタックポインタの入れ替え
+	 */
+	ldw   r2, %gprel(_kernel_istkpt)(gp)
+	addi  r2, r2, -4
+	stw   sp, 0(r2)     /* スタックポインタの保存 */        
+	mov   sp, r2        /* スタックポインタの入れ替え */
+
+nest_int:
+	/* 
+	 *  割込み・例外のネスト回数のインクリメント
+	 */
+	addi  r3, r3, 1
+	stw   r3, %gprel(except_nest_count)(gp)
 
 	/*
@@ -164,25 +179,4 @@
 
 	/*
-	 *  多重割込みか判定
-	 */
-	ldw   r3, %gprel(except_nest_count)(gp)  /* ネスト回数のチェック */
-	bltu  zero, r3,  nest_int
-
-	/*
-	 * スタックポインタの入れ替え
-	 */
-	ldw   r2, %gprel(_kernel_istkpt)(gp)
-	addi  r2, r2, -4
-	stw   sp, 0(r2)     /* スタックポインタの保存 */        
-	mov   sp, r2        /* スタックポインタの入れ替え */
-
-nest_int:
-	/* 
-	 *  割込み・例外のネスト回数のインクリメント
-	 */
-	addi  r3, r3, 1
-	stw   r3, %gprel(except_nest_count)(gp)
-
-	/*
 	 *  割込み要因の割込み優先度を求め(モデル上の)割込み優先度マスクをセット
 	 *  する．またその際，ハンドラ実行前の(モデル上の)割込み優先度マスクを
@@ -251,4 +245,5 @@
 	and   r3, r3, r4
 	wrctl status, r3
+test1:
 
 /*
@@ -360,17 +355,5 @@
 
 	/*
-	 * カーネル管理外のCPU例外か判定する
-	 * 
-	 * カーネル管理外のCPU例外は，カーネル実行中，全割込みロック状態，
-	 * CPUロック状態，カーネル管理外の割込みハンドラ実行中に発生した
-	 * CPU例外である．
-	 * Nios2の場合は，PIEが'0'の場合が相当する．
-	 */
-	rdctl r3, estatus
-	andi  r3, r3, STATUS_PIE
-	beq   r3, zero, kernel_unc_exception
-
-	/*
-	 * 例外発生元のコンテキストを判定
+	 * 多重割込みか判定
 	 */
 	ldw   r3, %gprel(except_nest_count)(gp)  /* ネスト回数のチェック */
@@ -378,5 +361,5 @@
 
 	/*
-	 * 発生元がタスクの場合はスタックポインタの入れ替え
+	 * スタックポインタの入れ替え
 	 */
 	ldw   r2, %gprel(_kernel_istkpt)(gp)
@@ -393,5 +376,5 @@
 
 	/*
-	 *  CPU例外ハンドラ番号の取得(4倍されている)
+	 *  CPU例外番号の取得(4倍されている)
 	 */
 #ifdef USE_EXTRA_EXCEPTION
@@ -437,6 +420,9 @@
 
 	/*
-	 *  CPUロック解除状態とする
-	 */
+	 *  例外発生時CPUロック状態でなければCPUロック解除状態とする
+	 */
+	rdctl r3, estatus
+	andi  r3, r3, STATUS_PIE
+	beq   r3, zero, call_exc_handler
 	rdctl r3, status
 	ori   r3, r3, STATUS_PIE
@@ -445,8 +431,8 @@
 call_exc_handler:
 #ifdef LOG_EXC_ENTER
-	Push  r6         /* CPU例外ハンドラ番号保存       */
+	Push  r6         /* CPU例外番号保存               */
 	Push  r5         /* CPU例外ハンドラアドレス保存   */
 	Push  r4         /* CPU例外フレームの先頭番地保存 */
-	mov   r4, r6     /* CPU例外ハンドラ番号を引数に   */
+	mov   r4, r6     /* CPU例外番号を引数に           */
 	call  log_exc_enter
 	Pop   r4         /* CPU例外フレームの先頭番地復帰 */
@@ -460,5 +446,5 @@
 
 #ifdef LOG_EXC_LEAVE
-	Pop   r4         /* CPU例外ハンドラ番号復帰        */
+	Pop   r4         /* CPU例外番号復帰               */
 	call  log_exc_leave
 #endif /* LOG_EXC_LEAVE */
@@ -564,7 +550,5 @@
 	beq  r6, zero, ret_int_4      /* enatex が false ならリターン */
 	ldw  r7, TCB_texptn(r4)       /* r7 <- texptn, texptnが0でなければ */
-	beq  zero, r7, ret_int_4
-	ldw  r7, %gprel(ipmflg)(gp)   /* r7 <- ipmflg      */
-	beq  zero, r7, ret_int_4      /* ipmflgがfalseであればリターン */
+	beq  zero, r7, ret_int_4      
 	call call_texrtn              /* タスク例外ルーチンの呼び出し */
 
@@ -593,140 +577,4 @@
 	eret 
 
-/*
- * カーネル管理外のCPU例外の出入口処理
- */
-kernel_unc_exception:
-	/*
-	 * 例外発生元のコンテキストを判定
-	 */
-	ldw   r3, %gprel(except_nest_count)(gp)  /* ネスト回数のチェック */
-	bltu  zero, r3,  nest_int_exc
-
-	/*
-	 * 発生元がタスクの場合はスタックポインタの入れ替え
-	 */
-	ldw   r2, %gprel(_kernel_istkpt)(gp)
-	addi  r2, r2, -4
-	stw   sp, 0(r2)     /* スタックポインタの保存 */        
-	mov   sp, r2        /* スタックポインタの入れ替え */
-
-nest_int_kernel_unc_exc:
-	/* 
-	 *  割込み・例外のネスト回数のインクリメント
-	 */
-	addi  r4, r3, 1
-	stw   r4, %gprel(except_nest_count)(gp)
-
-	/*
-	 *  CPU例外ハンドラ番号の取得(4倍されている)
-	 */
-#ifdef USE_EXTRA_EXCEPTION
-	rdctl r5, exception
-#else 
-	mov   r5, zero
-#endif /* USE_EXTRA_EXCEPTION */
-	srli  r6, r5, 2
-
-	/*
-	 *  割込み発生前の割込み優先度マスクをスタックに保存
-	 */
-	ldbu  r2, %gprel(iipm)(gp)
-	Push  r2
-
-	/*
-	 *  例外フレームの作成            オフセット
-	 *    例外番号                        0
-	 *    ESTATUS(et)                     4
-	 *    割込み・例外ネストカウント(r3)  8
-	 *    戻りアドレス                   12  
-	 *    割込み優先度マスク(iipm)       16
-	 */
-	addi  sp,  sp, -20
-	stw   r6,  0(sp)
-	stw   et,  4(sp)
-	stw   r3,  8(sp)
-	stw   ea, 12(sp)
-	stw   r2, 16(sp)
-
-	/*
-	 *  例外フレームの先頭番地をCPU例外ハンドラの引数に設定（r4）
-	 */
-	mov   r4, sp
-
-	/*
-	 *  例外ハンドラアドレスの取得
-	 */
-	movhi r2, %hiadj(exch_tbl)  
-	addi  r2, r2, %lo(exch_tbl) 
-	add   r2, r2, r5
-	ldw   r5, 0(r2)
-
-	/* 
-	 *  CPU例外ハンドラ呼び出し 
-	 */
-	callr r5
-
-	/*
-	 *  割込み禁止
-	 */
-	rdctl r3, status
-	movi  r4, ~STATUS_PIE
-	and   r3, r3, r4
-	wrctl status, r3
-
-	/*
-	 *  例外フレームを捨てる
-	 */
-	addi  sp,  sp, 20
-
-	/*
-	 *  (モデル上の)割込み優先度マスクを元に戻す
-	 */
-	Pop   r3                   /* 割込み前の(モデル上の)割込み優先度マスクを取得 */
-	stb   r3, %gprel(iipm)(gp) /* (モデル上の)割込み優先度マスクをセット */
-	slli  r3, r3, 2            /* 割込み優先度マスクを4倍してオフセットを生成    */
-	movhi r2, %hiadj(iipm_mask_tbl) /* 割込み優先度マスクに対応した割込み禁止パターンを取得 */ 
-	addi  r2, r2, %lo(iipm_mask_tbl)
-	add   r2, r2, r3
-	ldw   r5, 0(r2)
-	ldw   r8, %gprel(idf)(gp)       /* 各割込みの割込み要求禁止フラグの状態を取得     */
-	nor   r8, r8, r5                /* 両者のORの否定を生成                           */
-	wrctl ienable, r8               /* 指定した割り込みのみ許可                       */
-
-	/* 
-	 *  割込み・例外のネスト回数のデクリメント
-	 */
-	ldw   r3, %gprel(except_nest_count)(gp)
-	addi  r3, r3, -1
-	stw   r3, %gprel(except_nest_count)(gp)
-
-	bltu  zero, r3, ret_int_1_kernel_unc_exc /* ネスト回数が1以上ならスタックポインタを変更しない */
-
-	ldw   r2, 0(sp)              /* スタックポインタを戻す    */
-	mov   sp, r2
-
-ret_int_1_kernel_unc_exc:
-	ldw   et,   0(sp)  /* レジスタの復帰 */
-	wrctl estatus, et
-	ldw   at,   4(sp)
-	ldw   r2,   8(sp)
-	ldw   r3,  12(sp)
-	ldw   r4,  16(sp)
-	ldw   r5,  20(sp)
-	ldw   r6,  24(sp)
-	ldw   r7,  28(sp)
-	ldw   r8,  32(sp)
-	ldw   r9,  36(sp)
-	ldw   r10, 40(sp)
-	ldw   r11, 44(sp)
-	ldw   r12, 48(sp)
-	ldw   r13, 52(sp)
-	ldw   r14, 56(sp)
-	ldw   r15, 60(sp)
-	ldw   fp,  64(sp)
-	ldw   ra,  68(sp)
-	ldw   ea,  72(sp)
-	addi  sp, sp, 76        
-	eret    
 
 /*
@@ -783,7 +631,5 @@
 	beq  r6, zero, dispatch_r_1   /* enatex が false ならリターン */
 	ldw  r7, TCB_texptn(r4)       /* r7 <- texptn, texptnが0でなければ */
-	beq  r7, zero, dispatch_r_1
-	ldw  r7, %gprel(ipmflg)(gp)   /* r7 <- ipmflg      */
-	beq  zero, r7, dispatch_r_1   /* ipmflgがfalseであればリターン */
+	beq  r7, zero, dispatch_r_1    
 	call call_texrtn              /* タスク例外ルーチンの呼び出し */
 
@@ -921,4 +767,5 @@
 	ldw   r4, TINIB_exinf(r3)     /* r4  <- 引数（exinf）         */
 	ldw   r2, TINIB_task(r3)      /* r2 <- タスクの実行番地       */
+	addi  sp, sp, 8
 	movhi ra, %hiadj(ext_tsk)
 	addi  ra, ra, %lo(ext_tsk)
Index: /asp_nios2/trunk/arch/nios2_gcc/prc_unrename.h
===================================================================
--- /asp_nios2/trunk/arch/nios2_gcc/prc_unrename.h	(revision 473)
+++ /asp_nios2/trunk/arch/nios2_gcc/prc_unrename.h	(revision 1)
@@ -17,6 +17,4 @@
 #undef exch_tbl
 #undef int_bitmap_search_table
-#undef default_exc_handler
-#undef default_int_handler
 
 #undef prc_initialize
@@ -45,6 +43,4 @@
 #undef _exch_tbl
 #undef _int_bitmap_search_table
-#undef _default_exc_handler
-#undef _default_int_handler
 
 #undef _prc_initialize
