OSDN Git Service

add microblaze PLB
authorryuz <ryuz@users.sourceforge.jp>
Thu, 23 Jun 2011 14:38:24 +0000 (23:38 +0900)
committerryuz <ryuz@users.sourceforge.jp>
Thu, 23 Jun 2011 14:38:24 +0000 (23:38 +0900)
kernel/build/mb/mb_v8_axi/gcc/Makefile
kernel/build/mb/mb_v8_plb/gcc/Makefile [new file with mode: 0644]
kernel/include/arch/irc/mb/intc/irc.h [moved from kernel/include/arch/irc/mb/axi_intc/irc.h with 86% similarity]
kernel/include/arch/irc/mb/intc/ircatr.h [moved from kernel/include/arch/irc/mb/axi_intc/ircatr.h with 71% similarity]
kernel/source/arch/irc/mb/intc/dis_int.c [moved from kernel/source/arch/irc/mb/axi_intc/dis_int.c with 100% similarity]
kernel/source/arch/irc/mb/intc/ena_int.c [moved from kernel/source/arch/irc/mb/axi_intc/ena_int.c with 100% similarity]
kernel/source/arch/irc/mb/intc/kexe_irc.c [moved from kernel/source/arch/irc/mb/axi_intc/kexe_irc.c with 100% similarity]
kernel/source/arch/irc/mb/intc/kini_irc.c [moved from kernel/source/arch/irc/mb/axi_intc/kini_irc.c with 100% similarity]
kernel/source/arch/irc/mb/intc/vclr_int.c [moved from kernel/source/arch/irc/mb/axi_intc/vclr_int.c with 100% similarity]

index 2223523..f6d71f6 100644 (file)
@@ -26,7 +26,7 @@ CMD_LIBR ?= $(GCC_ARCH)ar
 # %jp{アーキテクチャ定義}%en{architecture}
 ARCH_NAME ?= mb_v8
 ARCH_PROC ?= mb/mb_v8
 # %jp{アーキテクチャ定義}%en{architecture}
 ARCH_NAME ?= mb_v8
 ARCH_PROC ?= mb/mb_v8
-ARCH_IRC  ?= mb/axi_intc
+ARCH_IRC  ?= mb/intc
 ARCH_CC   ?= gcc
 
 
 ARCH_CC   ?= gcc
 
 
diff --git a/kernel/build/mb/mb_v8_plb/gcc/Makefile b/kernel/build/mb/mb_v8_plb/gcc/Makefile
new file mode 100644 (file)
index 0000000..848c6ba
--- /dev/null
@@ -0,0 +1,160 @@
+# ----------------------------------------------------------------------------
+# Hyper Operating System V4 Advance
+#  makefile for XILINX Microblaze v8.0 AXI
+#
+# 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  ?= mb/intc
+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 -mbig-endian
+CFLAGS  = -mcpu=v8.00.a -mbig-endian
+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
+ASRCS += $(SRC_PROC_CC_DIR)/kexc_hdr.S
+ASRCS += $(SRC_PROC_CC_DIR)/kbrk_hdr.S
+ASRCS += $(SRC_PROC_CC_DIR)/khwe_hdr.S
+
+
+# %jp{C言語ファイルの追加}%en{C sources}
+CSRCS += $(SRC_PROC_DIR)/val_int.c
+CSRCS += $(SRC_IRC_DIR)/kini_irc.c
+CSRCS += $(SRC_IRC_DIR)/kexe_irc.c
+CSRCS += $(SRC_IRC_DIR)/ena_int.c
+CSRCS += $(SRC_IRC_DIR)/dis_int.c
+CSRCS += $(SRC_IRC_DIR)/vclr_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
similarity index 86%
rename from kernel/include/arch/irc/mb/axi_intc/irc.h
rename to kernel/include/arch/irc/mb/intc/irc.h
index cc92ab9..ef040c8 100644 (file)
@@ -2,15 +2,15 @@
  *  Hyper Operating System V4 Advance
  *
  * @file  irc.h
  *  Hyper Operating System V4 Advance
  *
  * @file  irc.h
- * @brief XILINX AXI INTC
+ * @brief XILINX XPS/AXI INTC
  *
  * Copyright (C) 1998-2011 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
 
  *
  * Copyright (C) 1998-2011 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
 
-#ifndef _KERNEL__arch__irc__xilinx_axi_intc__irc_h__
-#define _KERNEL__arch__irc__xilinx_axi_intc__irc_h__
+#ifndef _KERNEL__arch__irc__xilinx_intc__irc_h__
+#define _KERNEL__arch__irc__xilinx_intc__irc_h__
 
 
 /* %jp{メモリマップドレジスタ定義} */
 
 
 /* %jp{メモリマップドレジスタ定義} */
@@ -40,7 +40,7 @@ void _kernel_exe_irc(INHNO inhno);    /**< %jp{割込み処理} */
 #define _KERNEL_EXE_IRC(inhno) _kernel_exe_irc(inhno)  /**< %jp{割込み処理} */
 
 
 #define _KERNEL_EXE_IRC(inhno) _kernel_exe_irc(inhno)  /**< %jp{割込み処理} */
 
 
-#endif /* _KERNEL__arch__irc__xilinx_axi_intc__irc_h__ */
+#endif /* _KERNEL__arch__irc__xilinx_intc__irc_h__ */
 
 
 /* end of file */
 
 
 /* end of file */
similarity index 71%
rename from kernel/include/arch/irc/mb/axi_intc/ircatr.h
rename to kernel/include/arch/irc/mb/intc/ircatr.h
index 5088016..94791a2 100644 (file)
@@ -2,18 +2,18 @@
  *  Hyper Operating System V4 Advance
  *
  * @file  ircatr.h
  *  Hyper Operating System V4 Advance
  *
  * @file  ircatr.h
- * @brief XILINX AXI INTC
+ * @brief XILINX XPS/AXI INTC
  *
  * Copyright (C) 1998-2011 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
 
  *
  * Copyright (C) 1998-2011 by Project HOS
  * http://sourceforge.jp/projects/hos/
  */
 
 
-#ifndef _KERNEL__arch__irc__xilinx_axi_intc__ircatr_h__
-#define _KERNEL__arch__irc__xilinx_axi_intc__ircatr_h__
+#ifndef _KERNEL__arch__irc__xilinx_intc__ircatr_h__
+#define _KERNEL__arch__irc__xilinx_intc__ircatr_h__
 
 
 
 
-#define _KERNEL_IRCATR_INC_PATH                                "mb/axi_intc"
+#define _KERNEL_IRCATR_INC_PATH                                "mb/intc"
 
 #define _KERNEL_IRCATR_IRC                                     TRUE            /**< %jp{IRCの有無} */
 #define _KERNEL_IRCATR_REG_BASE                                TRUE            /**< %jp{IRCレジスタベースアドレスの有無} */
 
 #define _KERNEL_IRCATR_IRC                                     TRUE            /**< %jp{IRCの有無} */
 #define _KERNEL_IRCATR_REG_BASE                                TRUE            /**< %jp{IRCレジスタベースアドレスの有無} */
@@ -23,7 +23,7 @@
 #define _KERNEL_IRCATR_TMAX_INTNO                      31                      /**< %jp{割込み番号の最大値} */
 
 
 #define _KERNEL_IRCATR_TMAX_INTNO                      31                      /**< %jp{割込み番号の最大値} */
 
 
-#endif /* _KERNEL__arch__irc__xilinx_axi_intc__ircatr_h__ */
+#endif /* _KERNEL__arch__irc__xilinx_intc__ircatr_h__ */