OSDN Git Service

debug sh2a-fpu
authorryuz <ryuz@users.sourceforge.jp>
Fri, 7 Jan 2011 15:59:14 +0000 (00:59 +0900)
committerryuz <ryuz@users.sourceforge.jp>
Fri, 7 Jan 2011 15:59:14 +0000 (00:59 +0900)
FPU命令のFPSCR漏れを修正

kernel/build/arm/lpc2000/gcc/Makefile
kernel/build/common/gmake/makeexe.inc [deleted file]
kernel/build/common/gmake/makelib.inc [deleted file]
kernel/build/sh/sh2a-fpu/shc/GNUmakefile
kernel/source/arch/proc/sh/sh2a-fpu/shc/kcre_ctx.src
kernel/source/arch/proc/sh/sh2a-fpu/shc/kexc_hdr.src
kernel/source/arch/proc/sh/sh2a-fpu/shc/kswi_ctx.src
sample/sh/sh7262/shc/GNUmakefile

index e88562c..747fbc1 100755 (executable)
@@ -9,7 +9,7 @@
 
 
 # --------------------------------------
-#  %jp{各種設定}{setting}
+#  %jp{各種設定}%en{setting}
 # --------------------------------------
 
 # %jp{ターゲットライブラリ名}%en{target library name}
diff --git a/kernel/build/common/gmake/makeexe.inc b/kernel/build/common/gmake/makeexe.inc
deleted file mode 100755 (executable)
index 14f63cc..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-# ----------------------------------------------------------------------------
-#  Hyper Operating System V4 Advance
-#    common file for GNU make
-#
-#  Copyright (C) 1998-2006 by Project HOS
-#  http://sourceforge.jp/projects/hos/
-# ----------------------------------------------------------------------------
-
-
-
-# --------------------------------------
-#  %jp{オプション解析}
-# --------------------------------------
-
-ifeq ($(DEBUG),Yes)
-# %jp{デバッグ指定があればデバッグ版作成}
-AFLAGS += $(AFLAGS_DBG) $(AFLAGS_OPT_NONE)
-CFLAGS += $(CFLAGS_DBG) $(CFLAGS_OPT_NONE)
-else
-ifeq ($(OPT_SPEED),Yes)
-# %jp{速度最適化指定があれば速度優先}
-AFLAGS += $(AFLAGS_OPT_SPEED)
-CFLAGS += $(CFLAGS_OPT_SPEED)
-else
-ifeq ($(OPT_SIZE),Yes)
-# %jp{サイズ優先適化指定があればサイズ優先}
-AFLAGS += $(AFLAGS_OPT_SIZE)
-CFLAGS += $(CFLAGS_OPT_SIZE)
-else
-# %jp{デフォルトで通常の最適化}
-AFLAGS += $(AFLAGS_OPT_NORMAL)
-CFLAGS += $(CFLAGS_OPT_NORMAL)
-endif
-endif
-endif
-
-
-
-# --------------------------------------
-#  %jp{カーネルライブラリの選択}
-# --------------------------------------
-
-KERNEL_LIB_NAME ?= libhosv4a
-KERNEL_MAKOPT   ?=
-
-# %jp{デバッグ指定}
-#KERNEL_MAKOPT += DEBUG=$(KERNEL_DEBUG)
-#ifeq ($(KERNEL_DEBUG),Yes)
-#KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)dbg
-#endif
-
-
-# %jp{エラーレベル指定}
-KERNEL_MAKOPT += ERRLEVEL=$(KERNEL_ERRLEVEL)
-ifeq ($(KERNEL_ERRLEVEL),0)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)er0
-endif
-ifeq ($(KERNEL_ERRLEVEL),1)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)er1
-endif
-ifeq ($(KERNEL_ERRLEVEL),2)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)er2
-endif
-ifeq ($(KERNEL_ERRLEVEL),3)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)er3
-endif
-ifeq ($(KERNEL_ERRLEVEL),4)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)er4
-endif
-
-
-# %jp{カーネルフック指定}%en{kernel hook}
-KERNEL_MAKOPT += HOK_TSK=$(KERNEL_HOK_TSK)
-ifeq ($(KERNEL_HOK_TSK),Yes)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)tsk
-endif
-KERNEL_MAKOPT += HOK_INH=$(KERNEL_HOK_INH)
-ifeq ($(KERNEL_HOK_INH),Yes)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)inh
-endif
-KERNEL_MAKOPT += HOK_ISR=$(KERNEL_HOK_ISR)
-ifeq ($(KERNEL_HOK_ISR),Yes)
-KERNEL_LIB_NAME := $(KERNEL_LIB_NAME)isr
-endif
-
-# %jp{カーネルライブラリ}%en{kernel library}
-KERNEL_LIB = $(KERNEL_BUILD_DIR)/$(KERNEL_LIB_NAME).$(EXT_LIB)
-
-
-# --------------------------------------
-#  %jp{カーネル利用の設定}
-# --------------------------------------
-
-INC_DIRS += $(KERNEL_DIR)/include
-LIBS     += $(KERNEL_LIB)
-
-
-
-# --------------------------------------
-#  %jp{各種設定}
-# --------------------------------------
-
-# %jp{サーチパス設定}
-VPATH = $(subst $(space),:,$(SRC_DIRS))
-
-
-# %jp{オブジェクトファイル}
-OBJS = $(addprefix $(OBJS_DIR)/, $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(ASRCS)))))     \
-       $(addprefix $(OBJS_DIR)/, $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(CSRCS)))))
-
-
-
-# --------------------------------------
-#  %jp{ルール}
-# --------------------------------------
-
-
-# %jp{カーネルライブラリ}
-$(KERNEL_LIB): kernel_make
-
-
-# %jp{実行ファイル生成}
-.PHONY : makeexe_all
-makeexe_all: $(KERNEL_LIB) makeexe_mkobjsdir $(CSRCS) $(ASRCS)
-
-
-# %jp{クリーンナップ}
-.PHONY : makeexe_clean
-makeexe_clean:
-       $(CMD_RM) -f $(TARGET_LIB) $(OBJS)
-
-
-# %jp{オブジェクト出力ディレクトリ作成}
-.PHONY : makeexe_mkobjsdir
-makeexe_mkobjsdir:
-       $(CMD_MKDIR) -p $(OBJS_DIR)
-
-
-# %jp{依存関係の生成}
-DEPFLAGS += -MM $(patsubst %,-I%,$(INC_DIRS))
-.PHONY : makeexe_depend
-makeexe_depend: makeexe_mkobjsdir
-       $(CMD_DEPEND) $(DEPFLAGS) $(CSRCS) | sed -e 's?\.o?\.$(EXT_OBJ)?g' | sed -e 's?^\(.*\):?$(OBJS_DIR)/\1:?g' > $(OBJS_DIR)/depend.inc
-
--include $(OBJS_DIR)/depend.inc
-
-
-# %jp{ソースのコピー}
-ifneq ($(SRCCPYDIR),)
-.PHONY : makeexe_srccpy
-makeexe_srccpy:
-       $(CMD_CP) -t $(SRCCPYDIR) $(ASRCS) $(CSRCS)
-endif
-
-
-# %jp{カーネル生成}
-.PHONY : kernel_make
-kernel_make:
-       $(MAKE) -C $(KERNEL_BUILD_DIR) $(KERNEL_MAKOPT)
-
-
-# %jp{カーネルクリーン}
-.PHONY : kernel_clean
-kernel_clean:
-       $(MAKE) -C $(KERNEL_BUILD_DIR) $(KERNEL_MAKOPT) clean
-
-
-# %jp{カーネルdepend}
-.PHONY : kernel_depend
-kernel_depend:
-       $(MAKE) -C $(KERNEL_BUILD_DIR) $(KERNEL_MAKOPT) depend
-
-
-
-# end of file
diff --git a/kernel/build/common/gmake/makelib.inc b/kernel/build/common/gmake/makelib.inc
deleted file mode 100755 (executable)
index a503819..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# ----------------------------------------------------------------------------
-#  Hyper Operating System V4 Advance
-#    common file for GNU make
-#
-#  Copyright (C) 1998-2007 by Project HOS
-#  http://sourceforge.jp/projects/hos/
-# ----------------------------------------------------------------------------
-
-
-
-# --------------------------------------
-#  %jp{オプション解析}
-# --------------------------------------
-
-ifeq ($(DEBUG),Yes)
-# %jp{デバッグ指定があればデバッグ版作成}
-TARGET := $(TARGET)dbg
-CFLAGS += $(CFLAGS_DBG) $(CFLAGS_OPT_NONE)
-AFLAGS += $(AFLAGS_DBG) $(AFLAGS_OPT_NONE)
-ifeq ($(KERNEL),Yes)
-C_DEFS += _KERNEL_DEBUG
-A_DEFS += _KERNEL_DEBUG
-else
-C_DEFS += _DEBUG
-A_DEFS += _DEBUG
-endif
-else
-ifeq ($(OPT_SPEED),Yes)
-# %jp{速度最適化指定があれば速度優先}%en{optimize speed}
-CFLAGS += $(CFLAGS_OPT_SPEED)
-AFLAGS += $(AFLAGS_OPT_SPEED)
-else
-ifeq ($(OPT_SIZE),Yes)
-# %jp{サイズ優先適化指定があればサイズ優先}%en{optimize size}
-CFLAGS += $(CFLAGS_OPT_SIZE)
-AFLAGS += $(AFLAGS_OPT_SIZE)
-else
-# %jp{デフォルトで通常の最適化}%en{optimize}
-CFLAGS += $(CFLAGS_OPT_NORMAL)
-AFLAGS += $(AFLAGS_OPT_NORMAL)
-endif
-endif
-endif
-
-
-# %jp{カーネルエラーレベル指定}%en{error check level}
-ifeq ($(ERRLEVEL),0)
-TARGET := $(TARGET)er0
-C_DEFS += _KERNEL_ERRLEVEL=0
-endif
-ifeq ($(ERRLEVEL),1)
-TARGET := $(TARGET)er1
-C_DEFS += _KERNEL_ERRLEVEL=1
-endif
-ifeq ($(ERRLEVEL),2)
-TARGET := $(TARGET)er2
-C_DEFS += _KERNEL_ERRLEVEL=2
-endif
-ifeq ($(ERRLEVEL),3)
-TARGET := $(TARGET)er3
-C_DEFS += _KERNEL_ERRLEVEL=3
-endif
-ifeq ($(ERRLEVEL),4)
-TARGET := $(TARGET)er4
-C_DEFS += _KERNEL_ERRLEVEL=4
-endif
-
-
-# %jp{カーネルフック指定}%en{kernel hook}
-ifeq ($(HOK_TSK),Yes)
-TARGET := $(TARGET)tsk
-C_DEFS += _KERNEL_HOK_TSK
-endif
-ifeq ($(HOK_INH),Yes)
-TARGET := $(TARGET)inh
-C_DEFS += _KERNEL_HOK_INH
-endif
-ifeq ($(HOK_ISR),Yes)
-TARGET := $(TARGET)isr
-C_DEFS += _KERNEL_HOK_ISR
-endif
-
-
-
-
-# --------------------------------------
-#  %jp{各種設定}%en{Target}
-# --------------------------------------
-
-
-# %jp{ターゲットライブラリファイル名}
-TARGET_LIB = $(TARGET).$(EXT_LIB)
-
-
-# %jp{オブジェクトファイル}
-OBJS = $(addprefix $(OBJS_DIR)/, $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(CSRCS)))))   \
-       $(addprefix $(OBJS_DIR)/, $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(ASRCS)))))
-
-
-
-# %jp{サーチパス設定}
-VPATH = $(subst $(space),:,$(SRC_DIRS))
-
-
-
-# --------------------------------------
-#  %jp{ルール}%en{Rules}
-# --------------------------------------
-
-# %jp{ライブラリ生成}%en{library}
-.PHONY : makelib_all
-makelib_all: $(CSRCS) $(ASRCS) makelib_mkobjsdir $(TARGET_LIB)
-
-
-# %jp{一括処理}%en{batch build}
-.PHONY : makelib_batch
-makelib_batch: $(CSRCS) $(ASRCS) makelib_mkobjsdir batch_asm batch_c $(TARGET_LIB)
-
-
-# %jp{クリーンナップ}%en{clean}
-.PHONY : makelib_clean
-makelib_clean:
-       $(CMD_RM) -f $(TARGET_LIB) $(OBJS)
-
-
-# %jp{依存関係の生成}%en{depend}
-DEPFLAGS += -MM $(patsubst %,-I%,$(INC_DIRS))
-.PHONY : makelib_depend
-makelib_depend: makelib_mkobjsdir
-       $(CMD_DEPEND) $(DEPFLAGS) $(CSRCS) | sed -e 's?\.o?\.$(EXT_OBJ)?g' | sed -e 's?^\(.*\):?$(OBJS_DIR)/\1:?g' > $(OBJS_DIR)/depend.inc
-
--include $(OBJS_DIR)/depend.inc
-
-
-# %jp{オブジェクト出力ディレクトリ作成}%en{objects directory}
-.PHONY : makelib_mkobjsdir
-makelib_mkobjsdir:
-       $(CMD_MKDIR) -p $(OBJS_DIR)
-
-
-# %jp{ソースのコピー}%en{spurce files copy}
-ifneq ($(SRCCPYDIR),)
-.PHONY : makelib_srccpy
-makelib_srccpy:
-       $(CMD_CP) -t $(SRCCPYDIR) $(ASRCS) $(CSRCS)
-endif
-
-
-
-# end of file
index 7e662b0..66166c1 100644 (file)
@@ -7,45 +7,48 @@
 # ----------------------------------------------------------------------------
 
 
-# %jp{\83^\81[\83Q\83b\83g\96¼}%en{target}
+
+
+# --------------------------------------
+#  %jp{\8ae\8eí\90Ý\92è}%en{setting}
+# --------------------------------------
+
+# %jp{\83^\81[\83Q\83b\83g\83\89\83C\83u\83\89\83\8a\96¼}%en{target library name}
 TARGET ?= libhosv4a
 
 
 # %jp{\83A\81[\83L\83e\83N\83`\83\83\92è\8b`}%en{architecture}
+ARCH_NAME ?= sh2a-fpu
 ARCH_PROC ?= sh/sh2a-fpu
 ARCH_IRC  ?= simple
 ARCH_CC   ?= shc
 
 
-# %jp{\83f\83B\83\8c\83N\83g\83\8a\92è\8b`}%en{directorys}
-HOSV4A_DIR        = ../../../../..
-KERNEL_DIR        = $(HOSV4A_DIR)/kernel
+# %jp{\83f\83B\83\8c\83N\83g\83\8a\92è\8b`}%en{directories}
+TOP_DIR           = ../../../../..
+KERNEL_DIR        = $(TOP_DIR)/kernel
 KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
-OBJS_DIR          = objs_$(TARGET)
+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{\83J\81[\83l\83\8b\8ew\92è}
-KERNEL = Yes
+# %jp{\83R\83\93\83t\83B\83M\83\85\83\8c\81[\83^\92è\8b`}%en{kernel configurator}
+CFGRTR = h4acfg-$(ARCH_NAME)
 
 
-# %jp{\83R\83\93\83t\83B\83M\83\85\83\8c\81[\83^\92è\8b`}%en{Configurator}
-CFGRTR_DIR = $(HOSV4A_DIR)/cfgrtr/build/gcc
-CFGRTR     = h4acfg-sh2a-fpu
+# %jp{\83J\81[\83l\83\8b\8ew\92è}%en{kernel flag}
+KERNEL = Yes
 
 
-# %jp{\8b¤\92Ê\92è\8b`\93Ç\8d\9e\82Ý}%en{Common setting}
+# %jp{\8b¤\92Ê\92è\8b`\93Ç\8d\9e\82Ý}%en{common setting}
 include $(KERNEL_MAKINC_DIR)/common.inc
 
 
-# %jp{\83A\81[\83L\83e\83N\83`\83\83\83p\83X}%en{architecture path}
-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)
-
-
 # %jp{\83p\83X\90Ý\92è}%en{Source path}
 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)
@@ -62,38 +65,49 @@ A_DEFS += _KERNEL_FAST_INTVEC="ON"
 endif
 
 
+# %jp{\83R\83\93\83p\83C\83\89\88Ë\91\82Ì\90Ý\92è\93Ç\8d\9e\82Ý}%en{compiler dependent definitions}
+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_d.inc
 
-# %jp{C\8c¾\8cê\83t\83@\83C\83\8b\82Ì\92Ç\89Á}
-CSRCS += $(SRC_PROC_DIR)/val_int.c                     \
-         $(SRC_IRC_DIR)/ena_int.c                      \
-         $(SRC_IRC_DIR)/dis_int.c                      \
-         $(SRC_IRC_DIR)/clr_int.c                      \
-         $(SRC_IRC_DIR)/get_imsk.c                     \
-         $(SRC_IRC_DIR)/chg_imsk.c                     \
-         $(SRC_IRC_DIR)/chg_ilv.c                      \
-         $(SRC_IRC_DIR)/get_ilv.c
+# %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{definitions for library}
+include $(KERNEL_MAKINC_DIR)/maklib_d.inc
 
-# %jp{\83A\83Z\83\93\83u\83\89\83t\83@\83C\83\8b\82Ì\92Ç\89Á}
-ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.src       \
-         $(SRC_PROC_CC_DIR)/kena_int.src       \
-         $(SRC_PROC_CC_DIR)/kwai_int.src       \
-         $(SRC_PROC_CC_DIR)/kcre_ctx.src       \
-         $(SRC_PROC_CC_DIR)/krst_ctx.src       \
-         $(SRC_PROC_CC_DIR)/kswi_ctx.src       \
-         $(SRC_PROC_CC_DIR)/kint_hdr.src       \
-         $(SRC_PROC_CC_DIR)/kexc_hdr.src
 
 
 
-# %jp{\83R\83\93\83p\83C\83\89\88Ë\91\92è\8b`}%en{definitions of compiler dependence}
-include $(KERNEL_MAKINC_DIR)/shc_d.inc
+# --------------------------------------
+#  %jp{\83\\81[\83X\83t\83@\83C\83\8b}%en{source files}
+# --------------------------------------
 
+# %jp{C\8c¾\8cê\83t\83@\83C\83\8b\82Ì\92Ç\89Á}
+CSRCS += $(SRC_PROC_DIR)/val_int.c
+CSRCS += $(SRC_IRC_DIR)/ena_int.c
+CSRCS += $(SRC_IRC_DIR)/dis_int.c
+CSRCS += $(SRC_IRC_DIR)/clr_int.c
+CSRCS += $(SRC_IRC_DIR)/get_imsk.c
+CSRCS += $(SRC_IRC_DIR)/chg_imsk.c
+CSRCS += $(SRC_IRC_DIR)/chg_ilv.c
+CSRCS += $(SRC_IRC_DIR)/get_ilv.c
 
-# %jp{\83J\81[\83l\83\8b\8b¤\92Ê\83\\81[\83X\82Ì\92Ç\89Á}%en{definitions of kernel source files}
+# %jp{\83A\83Z\83\93\83u\83\89\83t\83@\83C\83\8b\82Ì\92Ç\89Á}
+ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.src
+ASRCS += $(SRC_PROC_CC_DIR)/kena_int.src
+ASRCS += $(SRC_PROC_CC_DIR)/kwai_int.src
+ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.src
+ASRCS += $(SRC_PROC_CC_DIR)/krst_ctx.src
+ASRCS += $(SRC_PROC_CC_DIR)/kswi_ctx.src
+ASRCS += $(SRC_PROC_CC_DIR)/kint_hdr.src
+ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.src
+
+# %jp{\83J\81[\83l\83\8b\8b¤\92Ê\83\\81[\83X\82Ì\92Ç\89Á}%en{kernel common sources}
 include $(KERNEL_MAKINC_DIR)/knlsrc.inc
 
 
 
+
+# --------------------------------------
+#  %jp{\83\8b\81[\83\8b\92è\8b`}%en{rules}
+# --------------------------------------
+
 # %jp{ALL}%en{all}
 .PHONY : all
 all: makelib_all
@@ -105,7 +119,7 @@ clean: makelib_clean
        $(MAKE) -C $(CFGRTR_DIR) TARGET=$(CFGRTR) ARCH_PROC=$(ARCH_PROC) ARCH_IRC=$(ARCH_IRC) clean
        $(RM) -f *.lst
 
-# depend
+# %jp{\88Ë\91\8aÖ\8cW\8dX\90V}%en{make depend}
 .PHONY : depend
 clean: makelib_clean
 
@@ -114,13 +128,16 @@ clean: makelib_clean
 srccpy: makelib_srccpy
 
 
-# %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{rules of library}
-include $(KERNEL_MAKINC_DIR)/makelib.inc
+# %jp{\83\89\83C\83u\83\89\83\8a\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{rules for library}
+include $(KERNEL_MAKINC_DIR)/maklib_r.inc
 
+# %jp{\83R\83\93\83p\83C\83\89\88Ë\91\82Ì\83\8b\81[\83\8b\92è\8b`\93Ç\8d\9e\82Ý}%en{rules for compiler}
+include $(KERNEL_MAKINC_DIR)/$(ARCH_CC)_r.inc
 
-# %jp{\83R\83\93\83p\83C\83\89\88Ë\91\83\8b\81[\83\8b}%en{rules of compiler dependence}
-include $(KERNEL_MAKINC_DIR)/shc_r.inc
 
+# --------------------------------------
+#  %jp{\88Ë\91\8aÖ\8cW}%en{dependency}
+# --------------------------------------
 
 # %jp{\83J\81[\83l\83\8b\88Ë\91\8aÖ\8cW\93Ç\8d\9e\82Ý}%en{dependence}
 include $(KERNEL_MAKINC_DIR)/knldep.inc
index 6e94698..de7f88b 100644 (file)
                                .EXPORT __kernel_cre_ctx
                                .STACK  __kernel_cre_ctx=0
 __kernel_cre_ctx:
-                               add     #-40, r5                                ; スタックに領域を確保
-                               mov.l   r6, @(36, r5)                   ; 実行アドレスを      r8 の領域に設定
-                               mov.l   r7, @(32, r5)                   ; 実行時パラメータ1を r9 の領域に設定
+                               add     #-56, r5                                ; スタックに領域を確保
+                               mov.l   r6, @(52, r5)                   ; 実行アドレスを      r8 の領域に設定
+                               mov.l   r7, @(48, r5)                   ; 実行時パラメータ1を r9 の領域に設定
                                mov.l   @(0, r15), r0
-                               mov.l   r0, @(28, r5)                   ; 実行時パラメータ2を r10 の領域に設定
+                               mov.l   r0, @(44, r5)                   ; 実行時パラメータ2を r10 の領域に設定
                                mov.l   #ctx_entry, r0
-                               mov.l   r0, @(0, r5)                    ; 実行エントリポイントを pr の領域に設定
+                               mov.l   r0, @(16, r5)                   ; 実行エントリポイントを pr の領域に設定
                                rts
                                mov.l   r5, @(0, r4)                    ; スタックポインタを保存(遅延スロット)
 
index 31e5e81..210b67a 100644 (file)
@@ -389,8 +389,8 @@ __kernel_exc_hdr:
 
                                .ALIGN  4
 __kernel_exc_hdr:
-                               bra             __kernel_exc_hdr
-                               nop
+;                              bra             __kernel_exc_hdr
+;                              nop
 
                                mov.l   @r15+, r4
                                rte
index d656b96..8250076 100644 (file)
@@ -33,6 +33,10 @@ __kernel_swi_ctx:
                                sts.l   macl, @-r15
                                sts.l   mach, @-r15
                                sts.l   pr, @-r15
+                               fmov.s  fr12, @-r15
+                               fmov.s  fr13, @-r15
+                               fmov.s  fr14, @-r15
+                               fmov.s  fr15, @-r15
                                mov.l   r15, @(0, r5)                   ; スタックポインタ保存
                ; ---- このまま _kernel_sta_ctx に続ける
 
@@ -45,7 +49,11 @@ __kernel_swi_ctx:
                                .STACK  __kernel_sta_ctx=0
 __kernel_sta_ctx:
                                mov.l   @(0, r4), r15                   ; スタックポインタ復帰
-                               lds.l   @r15+, pr                               ; r8-r14,prを復帰
+                               fmov.s  @r15+, fr15
+                               fmov.s  @r15+, fr14
+                               fmov.s  @r15+, fr13
+                               fmov.s  @r15+, fr12
+                               lds.l   @r15+, pr
                                lds.l   @r15+, mach
                                lds.l   @r15+, macl
                                mov.l   @r15+, r14
index 4e26bbb..e496d5f 100644 (file)
@@ -142,7 +142,7 @@ $(STD_LIBS):
 
 
 # %jp{\8eÀ\8ds\83t\83@\83C\83\8b\90\90¬\97p\90Ý\92è\93Ç\8d\9e\82Ý}%en{setting for execute file}
-include $(KERNEL_MAKINC_DIR)/makeexe.inc
+include $(KERNEL_MAKINC_DIR)/makexe_r.inc
 
 # %jp{shc\97p\82Ì\83\8b\81[\83\8b\92è\8b`\93Ç\8d\9e\82Ý}
 include $(KERNEL_MAKINC_DIR)/shc_r.inc