From a3b16587fe543b9ee3f77d9d7a5732db2c959af5 Mon Sep 17 00:00:00 2001 From: ryuz Date: Mon, 19 Mar 2007 15:48:42 +0000 Subject: [PATCH] (none) --- kernel/build/arm/arm_v4t/armcc/gmake.mak | 6 +- kernel/build/arm/arm_v4t/gcc/gmake.mak | 88 +++++++++++----------- kernel/build/common/gmake/knlsrc.inc | 2 +- .../source/arch/proc/arm/arm_v4t/armcc/kswi_ctx.s | 3 +- 4 files changed, 51 insertions(+), 48 deletions(-) diff --git a/kernel/build/arm/arm_v4t/armcc/gmake.mak b/kernel/build/arm/arm_v4t/armcc/gmake.mak index b0da6fa..b1eec71 100755 --- a/kernel/build/arm/arm_v4t/armcc/gmake.mak +++ b/kernel/build/arm/arm_v4t/armcc/gmake.mak @@ -1,6 +1,6 @@ # ---------------------------------------------------------------------------- # Hyper Operating System V4 Advance -# makefile for ARM V4T +# makefile for ARM V4T (none IRC) # # Copyright (C) 1998-2007 by Project HOS # http://sourceforge.jp/projects/hos/ @@ -8,7 +8,7 @@ # ターゲット名 -TARGET ?= libhosv4a +TARGET ?= libhosv4a # ディレクトリ定義 @@ -49,7 +49,7 @@ CFGRTR_DIR = $(HOSV4A_DIR)/cfgrtr/build/gcc CFGRTR = h4acfg-arm_v4t -# %jp{armccc用の設定読込み} +# %jp{armcc用の設定読込み} include $(KERNEL_MAKINC_DIR)/armcc_def.inc diff --git a/kernel/build/arm/arm_v4t/gcc/gmake.mak b/kernel/build/arm/arm_v4t/gcc/gmake.mak index d1ebc2d..44f50da 100755 --- a/kernel/build/arm/arm_v4t/gcc/gmake.mak +++ b/kernel/build/arm/arm_v4t/gcc/gmake.mak @@ -1,26 +1,30 @@ # ---------------------------------------------------------------------------- # Hyper Operating System V4 Advance -# makefile for ARM V4T +# makefile for ARM V4T (none IRC) # -# Copyright (C) 1998-2007 by Project HOS +# Copyright (C) 1998-2006 by Project HOS # http://sourceforge.jp/projects/hos/ # ---------------------------------------------------------------------------- -# ターゲット名 +# %jp{ターゲット名} TARGET ?= libhosv4a +# %jp{アーキテクチャパス} +ARCH_PROC ?= arm/arm_v4t +ARCH_IRC ?= none +ARCH_CC ?= gcc # %jp{ツール定義} -GCC_ARCH ?= arm-elf- -CMD_CC ?= $(GCC_ARCH)gcc -CMD_ASM ?= $(GCC_ARCH)gcc -CMD_LIBR ?= $(GCC_ARCH)ar +GCC_SYS ?= elf +CMD_CC ?= arm-$(GCC_SYS)-gcc +CMD_ASM ?= arm-$(GCC_SYS)-gcc +CMD_LIBR ?= arm-$(GCC_SYS)-ar -# ディレクトリ定義 -HOSV4A_DIR = ../../../../.. -KERNEL_DIR = $(HOSV4A_DIR)/kernel +# %jp{ディレクトリ定義} +TOP_DIR = ../../../../.. +KERNEL_DIR = $(TOP_DIR)/kernel KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake OBJS_DIR = objs_$(TARGET) @@ -29,12 +33,7 @@ OBJS_DIR = objs_$(TARGET) include $(KERNEL_MAKINC_DIR)/common.inc -# %jp{アーキテクチャ定義} -ARCH_PROC ?= arm/arm_v4t -ARCH_IRC ?= none -ARCH_CC ?= gcc - -# %jp{アーキテクチャパス} +# %jp{アーキテクチャパス定義} 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) @@ -52,35 +51,34 @@ CFLAGS += -march=armv4t -mthumb-interwork ARFLAGS += # %jp{コンフィギュレータ定義} -CFGRTR_DIR = $(HOSV4A_DIR)/cfgrtr/build/gcc -CFGRTR = h4acfg-arm_v4t - - -# %jp{gcc用の設定読込み} -include $(KERNEL_MAKINC_DIR)/gcc_def.inc - - - -# C言語ファイルの追加 -CSRCS += $(SRC_PROC_DIR)/val_int.c - - -# アセンブラファイルの追加 -ASRCS += $(SRC_PROC_CC_DIR)/kcre_ctx.s \ - $(SRC_PROC_CC_DIR)/kdis_int.s \ - $(SRC_PROC_CC_DIR)/kena_int.s \ - $(SRC_PROC_CC_DIR)/kirq_hdr.s \ - $(SRC_PROC_CC_DIR)/krst_ctx.s \ - $(SRC_PROC_CC_DIR)/kswi_ctx.s \ - $(SRC_PROC_CC_DIR)/kwai_int.s - - - -# カーネル共通ソースの追加 +CFGRTR_DIR = $(TOP_DIR)/cfgrtr/build/gcc +CFGRTR = h4acfg-armv4t + + +# %jp{アセンブラファイルの追加} +ASRCS += $(SRC_PROC_CC_DIR)/kdis_int.S \ + $(SRC_PROC_CC_DIR)/kena_int.S \ + $(SRC_PROC_CC_DIR)/kwai_int.S \ + $(SRC_PROC_CC_DIR)/kcre_ctx.S \ + $(SRC_PROC_CC_DIR)/kswi_ctx.S \ + $(SRC_PROC_CC_DIR)/krst_ctx.S \ + $(SRC_PROC_CC_DIR)/kirq_hdr.S + +# %jp{C言語ファイルの追加} +CSRCS += $(SRC_PROC_DIR)/val_int.c \ + $(SRC_IRC_DIR)/dis_int.c \ + $(SRC_IRC_DIR)/ena_int.c \ + $(SRC_IRC_DIR)/clr_int.c \ + $(SRC_IRC_DIR)/chg_imsk.c \ + $(SRC_IRC_DIR)/get_imsk.c \ + $(SRC_IRC_DIR)/chg_ilv.c \ + $(SRC_IRC_DIR)/get_ilv.c + + +# %jp{カーネル共通ソースの追加} include $(KERNEL_MAKINC_DIR)/knlsrc.inc - # %jp{ALL} .PHONY : all all: makelib_all @@ -93,9 +91,14 @@ clean: makelib_clean $(RM) -f *.lst + +# %jp{gcc用の設定読込み} +include $(KERNEL_MAKINC_DIR)/gcc_def.inc + # %jp{ライブラリ生成用設定読込み} include $(KERNEL_MAKINC_DIR)/makelib.inc + # %jp{gcc用のルール定義読込み} include $(KERNEL_MAKINC_DIR)/gcc_rul.inc @@ -103,5 +106,4 @@ include $(KERNEL_MAKINC_DIR)/gcc_rul.inc include $(KERNEL_MAKINC_DIR)/knldep.inc - # end of file diff --git a/kernel/build/common/gmake/knlsrc.inc b/kernel/build/common/gmake/knlsrc.inc index 393e767..02314a2 100755 --- a/kernel/build/common/gmake/knlsrc.inc +++ b/kernel/build/common/gmake/knlsrc.inc @@ -253,7 +253,7 @@ CSRCS += $(MPFOBJ_DIR)/acre_mpf.c \ # System Time Management TIMOBJ_DIR = $(OBJ_DIR)/tim -TIMOBJ_HDRS = $(INC_DIR)/object/timobj.h +TIMOBJ_HDRS = SRC_DIRS += $(TIMOBJ_DIR) CSRCS += $(TIMOBJ_DIR)/set_tim.c \ $(TIMOBJ_DIR)/get_tim.c \ diff --git a/kernel/source/arch/proc/arm/arm_v4t/armcc/kswi_ctx.s b/kernel/source/arch/proc/arm/arm_v4t/armcc/kswi_ctx.s index 0eaf346..7721130 100755 --- a/kernel/source/arch/proc/arm/arm_v4t/armcc/kswi_ctx.s +++ b/kernel/source/arch/proc/arm/arm_v4t/armcc/kswi_ctx.s @@ -34,7 +34,8 @@ _kernel_swi_ctx EXPORT _kernel_sta_ctx _kernel_sta_ctx ldr sp, [r0] ; スタックポインタ復帰 - ldmfd sp!, {r4-r11, pc} ; レジスタ復帰 + ldmfd sp!, {r4-r11, lr} ; レジスタ復帰 + bx lr END -- 2.11.0