Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/Makefile.chip
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/Makefile.chip	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/Makefile.chip	(revision 386)
@@ -1,13 +1,13 @@
 #
-#  Makefile ã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+#  Makefile のチップ依存部（BCM2837用）
 #
 
 #
-#  ãã£ã¬ã¯ããªåã®å®ç¾©
+#  ディレクトリ名の定義
 #
 CHIPDIR = $(SRCDIR)/arch/$(CORE)_$(TOOL)/$(CHIP)
 
 #
-#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#  コンパイルオプション
 #
 COPTS := $(COPTS) -mtune=cortex-a53 -mcpu=cortex-a53
@@ -18,5 +18,5 @@
 
 #
-#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#  システムサービスに関する定義
 #
 SYSSVC_DIRS := $(SYSSVC_DIRS)
@@ -27,5 +27,5 @@
 
 #
-#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#  カーネルに関する定義
 #
 KERNEL_DIRS := $(KERNEL_DIRS) $(CHIPDIR)
@@ -35,5 +35,5 @@
 
 #
-#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := $(CFG_TABS) --symval-table $(CHIPDIR)/chip_sym.def
@@ -43,5 +43,5 @@
 
 #
-#  ä¾å­é¢ä¿ã®å®ç¾©
+#  依存関係の定義
 #
 cfg1_out.c: $(CHIPDIR)/chip_sym.def
@@ -50,5 +50,5 @@
 
 #
-#  ãã®ä»
+#  その他
 #
 CLEAN_FILES := $(CLEAN_FILES)
@@ -56,5 +56,5 @@
 
 #
-#  ARM64ä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+#  ARM64依存部のインクルード
 #
 include $(SRCDIR)/arch/$(CORE)_$(TOOL)/common/Makefile.core
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/bcm2837.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/bcm2837.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/bcm2837.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ *
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -60,5 +45,5 @@
 
 /*
- *  å²è¾¼ã¿çªå·ï¼intnoï¼ã®å®ç¾©
+ *  割込み番号（intno）の定義
  */
 // Core interrupts
@@ -104,5 +89,5 @@
 
 /*
- *  å²è¾¼ã¿çªå·ã®æå°å¤ã¨æå¤§å¤
+ *  割込み番号の最小値と最大値
  */
 #define TMIN_INTNO              UINT_C(0)
@@ -110,10 +95,10 @@
 
 /*
- *  ã¡ã¢ãªããããI/Oã®ãã¼ã¹ã¢ãã¬ã¹
+ *  メモリマップドI/Oのベースアドレス
  */
 #define MMIO_BASE               0x3F000000
 
 /*
- *  å²è¾¼ã¿é¢é£ã¬ã¸ã¹ã¿
+ *  割込み関連レジスタ
  */
 #define IRQ_PEND_B              0x3f00b200
@@ -154,10 +139,10 @@
 
 /*
- *  UARTã¬ã¸ã¹ã¿ã®ãã¼ã¹ã¢ãã¬ã¹
+ *  UARTレジスタのベースアドレス
  */
 #define RPI_UART0_BASE  (MMIO_BASE + 0x00201000)
 
 /*
- *  ãã¼ã¬ã¼ãè¨­å®
+ *  ボーレート設定
  */
 #define RPI_UART_IBRD_38400     0x27U    // 38400bps
@@ -167,5 +152,5 @@
 
 /*
- * ã¡ã¼ã«ããã¯ã¹é¢é£
+ * メールボックス関連
  *    https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface
  */
@@ -184,5 +169,5 @@
 #define MBOX_REQUEST    0
 
-/* ãã£ãã« */
+/* チャネル */
 #define MBOX_CH_POWER   0
 #define MBOX_CH_FB      1
@@ -220,6 +205,6 @@
 
 /*
- * mailbox å¼ã³åºã
- *    æ³¨æï¼ç¬¬2å¼æ°ã®ã¢ãã¬ã¹ã¯16ãã¤ãã¢ã©ã¤ã¡ã³ãã§ãããã¨
+ * mailbox 呼び出し
+ *    注意：第2引数のアドレスは16バイトアライメントであること
  */
 Inline int_t mbox_call(unsigned char ch, volatile uint32_t *mbox)
@@ -227,16 +212,14 @@
     uint32_t r = (((uint32_t)((uint64_t)mbox) & ~0xF) | (ch & 0xF));
 
-    // ä½¿ããããã«ãªãã¾ã§å¾
-ã¤
+    // 使えるようになるまで待つ
     do{
         Asm("nop");
     } while(sil_rew_mem((uint32_t *)MBOX_STATUS) & MBOX_FULL);
 
-    // ãã£ãã«ã®è­å¥å­ãä»å ãã¦ã¡ãã»ã¼ã¸ã®ã¢ãã¬ã¹ãæ¸ãè¾¼ã¿
+    // チャネルの識別子を付加してメッセージのアドレスを書き込み
     sil_wrw_mem((uint32_t *)MBOX_WRITE , r);
 
     while(1) {
-        // å¿ç­ãããã¾ã§å¾
-ã¤
+        // 応答があるまで待つ
         do{
             Asm("nop");
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_cfg1_out.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_cfg1_out.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_cfg1_out.h	(revision 386)
@@ -1,9 +1,8 @@
 /*
- *  cfg1_out.cããªã³ã¯ããããã«å¿
-è¦ãªã¹ã¿ãã®å®ç¾©
+ *  cfg1_out.cをリンクするために必要なスタブの定義
  */
 
 /*
- *  ã³ã¢ä¾å­ã®ã¹ã¿ãã®å®ç¾©
+ *  コア依存のスタブの定義
  */
 #include "arm64_gcc/common/core_cfg1_out.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_check.trb
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_check.trb	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_check.trb	(revision 386)
@@ -1,14 +1,14 @@
 # -*- coding: utf-8 -*-
 # 
-#  ãã¹3ã®çæã¹ã¯ãªããã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+#  パス3の生成スクリプトのチップ依存部（BCM2837用）
 # 
 IncludeTrb("arm64_gcc/common/core_check.trb")
 
 #
-#  å²è¾¼ã¿ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
+#  割込みハンドラテーブルに関するチェック
 #
-# DEF_INHã§ç»é²ããå²è¾¼ã¿ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼ã³ã³ãã£
-# ã®ã¥ã¬ã¼ã¿ã§çæããå²è¾¼ã¿ãã³ãã©ãï¼default_int_handlerã®ãã§ãã¯ã¯
-# è¡ããªãï¼
+# DEF_INHで登録した割込みハンドラのみチェックする．逆に言うと，コンフィ
+# ギュレータで生成した割込みハンドラや，default_int_handlerのチェックは
+# 行わない．
 #
 inhinib_entry = SYMBOL("_kernel_inhinib_entry")
@@ -16,6 +16,5 @@
   inthdr = PEEK(inhinib_entry, $sizeof_FP)
 
-  #     å²è¾¼ã¿ãã³ãã©ã®å
-é ­çªå°ã®ãã§ãã¯
+  #     割込みハンドラの先頭番地のチェック
   if (inthdr & ($CHECK_FUNC_ALIGN - 1)) != 0
     error_wrong_id("E_PAR", params, :inthdr, :inhno, "not aligned")
@@ -29,8 +28,8 @@
 
 #
-#  CPUä¾å¤ãã³ãã©ãã¼ãã«ã«é¢ãããã§ãã¯
+#  CPU例外ハンドラテーブルに関するチェック
 #
-# DEF_EXCã§ç»é²ããCPUä¾å¤ãã³ãã©ã®ã¿ãã§ãã¯ããï¼éã«è¨ãã¨ï¼
-# default_exc_handlerã®ãã§ãã¯ã¯è¡ããªãï¼
+# DEF_EXCで登録したCPU例外ハンドラのみチェックする．逆に言うと，
+# default_exc_handlerのチェックは行わない．
 #
 excinib_entry = SYMBOL("_kernel_excinib_entry")
@@ -38,6 +37,5 @@
   exchdr = PEEK(excinib_entry, $sizeof_FP)
 
-  # CPUä¾å¤ãã³ãã©ã®å
-é ­çªå°ã®ãã§ãã¯
+  # CPU例外ハンドラの先頭番地のチェック
   if (exchdr & ($CHECK_FUNC_ALIGN - 1)) != 0
     error_wrong_id("E_PAR", params, :exchdr, :excno, "not aligned")
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.c
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.c	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.c	(revision 386)
@@ -8,51 +8,36 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
- *
- */
-/*
- *  ãããä¾å­å¦çï¼BCM2837ç¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ *
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ *
+ */
+/*
+ *  チップ依存処理（BCM2837用）
  */
 #include <sil.h>
@@ -60,11 +45,10 @@
 
 /*
- *  ãã­ã»ããµã®å²è¾¼ã¿åªå
-åº¦
+ *  プロセッサの割込み優先度
  */
 PRI current_intpri;
 
 /*
- *  ãããã®åæå
+ *  チップの初期化
  */
 void
@@ -74,10 +58,10 @@
 
     /*
-     *  ARM64ä¾å­ã®åæå
+     *  ARM64依存の初期化
      */
     core_initialize();
 
     /*
-     *  ã¢ã©ã¤ã¡ã³ããã§ãã¯æå¹
+     *  アライメントチェック有効
      */
     tmp = (1<<3)|(1<<1);
@@ -85,5 +69,5 @@
 
     /*
-     *  å²è¾¼ã¿ãã¹ã¯ã®åæå
+     *  割込みマスクの初期化
      */
     sil_wrw_mem((uint32_t *)(DISABLE_IRQ_B), 0xffffffff);  // basic interrupt
@@ -91,10 +75,10 @@
     sil_wrw_mem((uint32_t *)(DISABLE_IRQ_2), 0xffffffff);  // gpu2
 
-    // ä½¿ç¨ããå²è¾¼ã¿ã®è¨±å¯
+    // 使用する割込みの許可
     chip_unmask_interrupt(0);
 }
 
 /*
- *  ãããã®çµäºå¦ç
+ *  チップの終了処理
  */
 void
@@ -102,5 +86,5 @@
 {
     /*
-     *  å²è¾¼ã¿ç¦æ­¢
+     *  割込み禁止
      */
     chip_mask_interrupt(INT_IPM(TMIN_INTPRI));
@@ -110,11 +94,10 @@
 
 /*
- *  å²è¾¼ã¿è¦æ±ã©ã¤ã³å±æ§ã®è¨­å®
+ *  割込み要求ライン属性の設定
  */
 void
 x_config_int(INTNO intno, ATR intatr, PRI intpri)
 {
-    // BCM283X ã¯ã¨ãã¸/ã¬ãã«ã®è¨­å®ãå²è¾¼ã¿åªå
-åº¦ã®è¨­å®æ©è½ãæããªã
+    // BCM283X はエッジ/レベルの設定や割込み優先度の設定機能を持たない
     assert(VALID_INTNO(intno));
     assert(TMIN_INTPRI <= intpri && intpri <= TMAX_INTPRI);
@@ -122,11 +105,7 @@
 
 /*
- *  çºçããå²è¾¼ã¿ã®åªå
-åº¦ã«å¿ãã¦å²è¾¼ã¿ããã¹ã¯ãã
- *  å²è¾¼ã¿ã®å
-¥å£å¦çããã³åæåå¦çããå¼ã³åºããã
- *    priï¼å²è¾¼ã¿è¦å ã®å²è¾¼ã¿åªå
-åº¦(å
-é¨è¡¨ç¾)
+ *  発生した割込みの優先度に応じて割込みをマスクする
+ *  割込みの入口処理および初期化処理から呼び出される
+ *    pri：割込み要因の割込み優先度(内部表現)
  */
 void
@@ -144,5 +123,5 @@
 
     /*
-     *  å²è¾¼ã¿ã®ãã¹ã¯
+     *  割込みのマスク
      */
     // core interrupt(core timers)
@@ -182,9 +161,7 @@
 
 /*
- *  ãã¹ã¯ããå²è¾¼ã¿ãå²è¾¼ã¿çºçåã®ç¶æ
-ã«æ»ã
- *  ãã³ãã©å®è¡å¾ï¼åºå£å¦çã®å®è¡åã«å¼ã³åºããã
- *    priï¼å²è¾¼ã¿çºçåã®å²è¾¼ã¿åªå
-åº¦
+ *  マスクした割込みを割込み発生前の状態に戻す
+ *  ハンドラ実行後，出口処理の実行前に呼び出される
+ *    pri：割込み発生前の割込み優先度
  */
 void
@@ -202,5 +179,5 @@
 
     /*
-     *  ãã¹ã¯è§£é¤
+     *  マスク解除
      */
     // core interrupt(core timers)
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_config.h	(revision 386)
@@ -8,56 +8,41 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
- *
- */
-
-/*
- *  ãããä¾å­å¦ç(BCM2837ç¨)
- *
- *  ãã®ããããã¡ã¤ã«ã¯ï¼target_config.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ã
- *  ããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼
- *  ä»ã®ãã¡ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ *
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ *
+ */
+
+/*
+ *  チップ依存処理(BCM2837用)
+ *
+ *  このヘッダファイルは，target_config.h（または，そこからインクルード
+ *  されるファイル）のみからインクルードされる．
+ *  他のファイルから直接インクルードしてはならない．
  */
 
@@ -66,31 +51,25 @@
 
 /*
- *  ãã¼ãã¦ã§ã¢å®ç¾©
+ *  ハードウェア定義
  */
 #include "bcm2837.h"
 
 /*
- *  å²è¾¼ã¿é¢é£
- */
-
-/*
- *  å²è¾¼ã¿åªå
-åº¦ã®å¤æ
- */
-#define EXT_IPM(pri)  (-pri)    // å
-é¨è¡¨ç¾ããå¤é¨è¡¨ç¾ã¸
-#define INT_IPM(ipm)  (-ipm)    // å¤é¨è¡¨ç¾ããå
-é¨è¡¨ç¾ã¸
-
-/*
- *  TIPM_ENAALLï¼å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ï¼ã®å
-é¨è¡¨ç¾
+ *  割込み関連
+ */
+
+/*
+ *  割込み優先度の変換
+ */
+#define EXT_IPM(pri)  (-pri)    // 内部表現から外部表現へ
+#define INT_IPM(ipm)  (-ipm)    // 外部表現から内部表現へ
+
+/*
+ *  TIPM_ENAALL（割込み優先度マスク全解除）の内部表現
  */
 #define IIPM_ENAALL  (0)
 
 /*
- *  å²è¾¼ã¿çªå·ã®ç¯å²ã®å¤å®
+ *  割込み番号の範囲の判定
  */
 #define VALID_INTNO(intno)           ((TMIN_INTNO <= (intno)) && ((intno) <= TMAX_INTNO))
@@ -98,6 +77,5 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ã®åºå
-¥å£å¦çã®çæãã¯ã­
+ *  割込みハンドラの出入口処理の生成マクロ
  */
 #define INT_ENTRY(inhno, inthdr)    inthdr
@@ -107,6 +85,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã¸ã®ç§»è¡
+ *  CPUロック状態への移行
  */
 Inline void
@@ -120,6 +97,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã®è§£é¤
+ *  CPUロック状態の解除
  */
 Inline void
@@ -133,7 +109,5 @@
 
 /*
- *  CPUã­ãã¯ç¶æ
-ã®åç
-§
+ *  CPUロック状態の参照
  */
 Inline bool_t
@@ -156,16 +130,12 @@
 
 /*
- *  ãã­ã»ããµã®å²è¾¼ã¿åªå
-åº¦
- *    ãããã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ã¯å²è¾¼ã¿åªå
-åº¦ã«ããå¶å¾¡æ©è½ã
- *    å®è£
-ããã¦ããªãããï¼å²è¾¼ã¿åªå
-åº¦ãæ ¼ç´ããå¤æ°ãç¨æãã
+ *  プロセッサの割込み優先度
+ *    チップの割込みコントローラには割込み優先度による制御機能が
+ *    実装されていないため，割込み優先度を格納する変数を用意する
  */
 extern PRI current_intpri;
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ã®è¨­å®
+ *  割込みハンドラの設定
  */
 Inline void
@@ -175,7 +145,5 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©å
-¥å£ã§å¿
-è¦ãªIRCæä½
+ *  割込みハンドラ入口で必要なIRC操作
  */
 Inline void
@@ -185,6 +153,5 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ã®åºå£ã§å¿
-è¦ãªIRCæä½
+ *  割込みハンドラの出口で必要なIRC操作
  */
 Inline void
@@ -194,43 +161,39 @@
 
 /*
- *  å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®å±æ§ã®è¨­å®
+ *  割込み要求ラインの属性の設定
  */
 extern void x_config_int(INTNO intno, ATR intatr, PRI intpri);
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ã«ãã¨ã¥ãå²è¾¼ã¿ã®ãã¹ã¯
- *    å²è¾¼ã¿ã®å
-¥å£ã§ï¼åãä»ããå²è¾¼ã¿ã®å²è¾¼ã¿ã¬ãã«ã«å¿ãã¦
- *    å²è¾¼ã¿ããã¹ã¯ãã
+ *  割込み優先度にもとづく割込みのマスク
+ *    割込みの入口で，受け付けた割込みの割込みレベルに応じて
+ *    割込みをマスクする
  */
 extern void chip_mask_interrupt(PRI pri);
 
 /*
- *  å²è¾¼ã¿ãã¹ã¯ã®è§£é¤
- *    å²è¾¼ã¿ã®åºå£ã§ï¼åãä»ãç´åã®å²è¾¼ã¿ã¬ãã«ããã¨ã«
- *    å²è¾¼ã¿ã®ãã¹ã¯ãè§£é¤ãã
+ *  割込みマスクの解除
+ *    割込みの出口で，受け付け直前の割込みレベルをもとに
+ *    割込みのマスクを解除する
  */
 extern void chip_unmask_interrupt(PRI pri);
 
 /*
- *  å²è¾¼ã¿å
-¥å£ã®å²è¾¼ã¿æä½ï¼chip_support.Sï¼
+ *  割込み入口の割込み操作（chip_support.S）
  */
 extern void chip_int_entry(void);
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ãã¼ãã«(kernel_cfg.c)
+ *  割込み優先度テーブル(kernel_cfg.c)
  */
 extern const PRI intpri_table[];
 
 /*
- *  å²è¾¼ã¿ãã¹ã¯ãã¼ãã«(kernel_cfg.c)
+ *  割込みマスクテーブル(kernel_cfg.c)
  */
 extern const uint32_t iipm_mask_table[];
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ãã¼ãã«(kernel_cfg.c)
+ *  割込みハンドラテーブル(kernel_cfg.c)
  */
 extern const INTHDR inh_table[];
@@ -241,15 +204,14 @@
 
 /*
- *  CPUä¾å¤é¢é£
- */
-
-/*
- *  CPUä¾å¤ãã³ãã©çªå·
+ *  CPU例外関連
+ */
+
+/*
+ *  CPU例外ハンドラ番号
  */
 #define VALID_EXCNO_DEFEXC(excno)    (TMIN_EXCNO <= (excno) && (excno) <= TMAX_EXCNO)
 
 /*
- *  CPUä¾å¤ãã³ãã©ã®å
-¥å£å¦çã®çæãã¯ã­
+ *  CPU例外ハンドラの入口処理の生成マクロ
  */
 #define EXC_ENTRY(excno, exchdr)    exchdr
@@ -260,5 +222,5 @@
 
 /*
- *  CPUä¾å¤ãã³ãã©ã®è¨­å®
+ *  CPU例外ハンドラの設定
  */
 Inline void
@@ -268,11 +230,10 @@
 
 /*
- *  ä¾å¤å
-¥å£ã®å²è¾¼ã¿æä½ï¼chip_support.Sï¼
+ *  例外入口の割込み操作（chip_support.S）
  */
 extern void chip_exc_entry(void);
 
 /*
- *  ä¾å¤ãã³ãã©ãã¼ãã«(kernel_cfg.c)
+ *  例外ハンドラテーブル(kernel_cfg.c)
  */
 extern const EXCHDR exc_table[];
@@ -281,5 +242,5 @@
 
 /*
- * ãã®ä»
+ * その他
  */
 
@@ -287,10 +248,10 @@
 
 /*
- *  ãããä¾å­ã®åæå
+ *  チップ依存の初期化
  */
 extern void chip_initialize(void);
 
 /*
- *  ãããä¾å­ã®çµäºå¦ç
+ *  チップ依存の終了処理
  */
 extern void chip_terminate(void) NoReturn;
@@ -299,5 +260,5 @@
 
 /*
- *  ã³ã¢ä¾å­å®ç¾©
+ *  コア依存定義
  */
 #include "arm64_gcc/common/core_config.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_design.txt
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_design.txt	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_design.txt	(revision 386)
@@ -1,14 +1,13 @@
 =====================================================================
-                         BCM283x ãããä¾å­é¨è¨­è¨ã¡ã¢
+                         BCM283x チップ依存部設計メモ
                                   Last Modified: 16 Apr 2019
 =====================================================================
 
-âãã®ãã­ã¥ã¡ã³ãã®ä½ç½®ã¥ã
+○このドキュメントの位置づけ
 
-ãã®ãã­ã¥ã¡ã³ãã¯ï¼TOPPERS/SSPã«ã¼ãã«ãBCM283xã«ç§»æ¤ããéã®
-ãããåºæäºé 
-ã«é¢ããè¨­è¨ã¡ã¢ã§ããï¼
+このドキュメントは，TOPPERS/SSPカーネルをBCM283xに移植する際の
+チップ固有事項に関する設計メモである．
 
-(åè)
+(参考)
 
 (a) QA7(ARM Quad A7 core)
@@ -20,104 +19,70 @@
 
 
-[CPUã¢ã¼ã]
+[CPUモード]
 
-âãªã»ããæã®ç¶æ
-
+●リセット時の状態
 
-ãªã»ããæï¼BCM283x (Cortex-A53) ã¯ï¼EL3h (ä½¿ç¨ã¹ã¿ãã¯ SP_EL3)ã§èµ·åããï¼
+リセット時，BCM283x (Cortex-A53) は，EL3h (使用スタック SP_EL3)で起動する．
 
 
-[å²è¾¼ã¿]
+[割込み]
 
 
-âå²è¾¼ã¿åªå
-åº¦
+●割込み優先度
 
-BCM283x ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯åªå
-åº¦ãå®è£
-ããã¦ããªãï¼ãã®ãã
-åªå
-åº¦ã«åºã¥ãå²è¾¼ã¿ã®ãã¹ã¯ãã½ããã¦ã§ã¢ã§æ¬ä¼¼çã«å®è£
-ãã¦ããï¼
-å²è¾¼ã¿ã®å
-é¨åªå
-åº¦ã®å¤ã¯å¤é¨åªå
-åº¦ã®ç¬¦å·ãåè»¢ãããã®ãç¨ããããï¼
-å¤ã®å¤§ããæ¹ãé«åªå
-åº¦ã¨ãªãï¼
+BCM283x の割込みコントローラは優先度が実装されていない．そのため
+優先度に基づく割込みのマスクをソフトウェアで擬似的に実装している．
+割込みの内部優先度の値は外部優先度の符号を反転したものを用いるため，
+値の大きい方が高優先度となる．
 
-åªå
-åº¦ã®ç¯å²ã¯èªç±ã«æ±ºãããã¨ãã§ããï¼æ¢å®ã®æé«å¤ã¯15ã¨ãªã£ã¦ããï¼
+優先度の範囲は自由に決めることができる．既定の最高値は15となっている．
 
 
-âå²è¾¼ã¿/ä¾å¤ã®åä»
+●割込み/例外の受付
 
-å²è¾¼ã¿ä¿¡å·ãåä¿¡ããã¨ï¼BCM283xã®ãã³ãã£ã³ã°ã¬ã¸ã¹ã¿ã®è©²å½ããããããã»ãããããï¼
-å²è¾¼ã¿çªå·ã¯ãã®ã¬ã¸ã¹ã¿ã«ã»ãããããå¤ãä½¿ç¨ããï¼
+割込み信号を受信すると，BCM283xのペンディングレジスタの該当するビットがセットされる．
+割込み番号はこのレジスタにセットされる値を使用する．
 
-å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã¯ï¼BCM2835åã³BCM2836ã®
-ããªãã§ã©ã«ããã¥ã¢ã«(ä¸è¨aåã³b)ããï¼ãã³ãã£ã³ã°ã¬ã¸ã¹ã¿ã®ãããä½ç½®ã«åºã¥ãã¦
-0ãã127ã®çªå·ãå²ãå½ã¦ãï¼(åã
-ã®å®ç¾©ã¯ bcm2837.h ãåç
-§)
+割込みハンドラ番号と割込み番号は，BCM2835及びBCM2836の
+ペリフェラルマニュアル(下記a及びb)から，ペンディングレジスタのビット位置に基づいて
+0から127の番号を割り当てる．(個々の定義は bcm2837.h を参照)
 
- 0 ... 31  Core interrupt (ä¸è¨aã®P16 ãCore0 interrupt sourceãã«å¯¾å¿)
-32 ... 63  ARM peripherals interrupt(bã®P113ãBasic pending registerãã«å¯¾å¿)
-64 ... 95  ARM peripherals interrupt(bã®P115ãGPU pending register 1ãã«å¯¾å¿)
-96 ...127  ARM peripherals interrupt(bã®P115ãGPU pending register 2ãã«å¯¾å¿)
+ 0 ... 31  Core interrupt (下記aのP16 「Core0 interrupt source」に対応)
+32 ... 63  ARM peripherals interrupt(bのP113「Basic pending register」に対応)
+64 ... 95  ARM peripherals interrupt(bのP115「GPU pending register 1」に対応)
+96 ...127  ARM peripherals interrupt(bのP115「GPU pending register 2」に対応)
 
-å²è¾¼ã¿ãåãä»ããã¨ä¾å¤ã¬ãã«ã¨ä¾å¤ã®ç¨®é¡ã«å¿ããæå®ã®ä½ç½®ãã
-å®è¡ãéå§ããç¹ã¯ã³ã¢ä¾å­é¨ã®èª¬æã¨åæ§ã§ãããï¼å²è¾¼ã¿ã®åªå
-åº¦ã®
-å¦çå
-å®¹ã«ã¤ãã¦ã¯ä»¥ä¸ã®ããã«ãªãï¼
+割込みを受け付けると例外レベルと例外の種類に応じた所定の位置から
+実行を開始する点はコア依存部の説明と同様であるが，割込みの優先度の
+処理内容については以下のようになる．
 
-ã¾ãå²è¾¼ã¿ã®å
-¥å£å¦çã§ã¯ä»¥ä¸ã®å¦çãè¡ãï¼
-ã»å²è¾¼ã¿çºçæï¼å²è¾¼ã¿è¦å ãå
-ã«åªå
-åº¦ãåå¾ãã
-ã»åªå
-åº¦ãå
-ã«ï¼ãã®å²è¾¼ã¿åªå
-ã¬ãã«ã§å½è©²ã®å²è¾¼ã¿è¦å ããã¹ã¯ãããã©ãããæ±ºå®ããï¼
-ã»ãã®åªå
-åº¦ã§ãã¹ã¯ããå¿
-è¦ã®ããå²è¾¼ã¿ãå
-¨ã¦ãã¹ã¯ããï¼
-ã»CPUã­ãã¯ãè§£é¤ãï¼å²è¾¼ã¿ãã³ãã©ãå¼ã³åºãï¼
+まず割込みの入口処理では以下の処理を行う：
+・割込み発生時，割込み要因を元に優先度を取得する
+・優先度を元に，その割込み優先レベルで当該の割込み要因をマスクするかどうかを決定する．
+・その優先度でマスクする必要のある割込みを全てマスクする．
+・CPUロックを解除し，割込みハンドラを呼び出す．
 
-å²è¾¼ã¿ãã³ãã©ããã®ãªã¿ã¼ã³å¾ï¼åºå£å¦çã«å
-¥ãåã«åªå
-åº¦ãå
-ã«æ»ãï¼
-ã»å²è¾¼ã¿çºçåã®å²è¾¼ã¿åªå
-åº¦ãã¹ã¿ãã¯ããåå¾ãã
-ã»å²è¾¼ã¿çºçåã®åªå
-åº¦ãå
-ã«ï¼ãã®å²è¾¼ã¿åªå
-åº¦ã§ãã¹ã¯è§£é¤ã®å¯¾è±¡ã¨ãªãå²è¾¼ã¿ãæ±ºãã
-ã»å¯¾è±¡ã¨ãªãå²è¾¼ã¿ã®å²è¾¼ã¿ãã¹ã¯ããã¹ã¦è§£é¤ããï¼
+割込みハンドラからのリターン後，出口処理に入る前に優先度を元に戻す：
+・割込み発生前の割込み優先度をスタックから取得する
+・割込み発生前の優先度を元に，その割込み優先度でマスク解除の対象となる割込みを決める
+・対象となる割込みの割込みマスクをすべて解除する．
 
-å²è¾¼ã¿è¦å ã¨åªå
-åº¦ã¨ã®å¯¾å¿ï¼ããã³åªå
-åº¦ã¨ãã¹ã¯ãã¿ã¼ã³ã¨ã®å¯¾å¿ã«ã¯
-ãããã intpri_tableï¼åã³ iipm_mask_table ã¨ããé
-åãä½¿ç¨ããï¼
-ãããã¯ CFG_INT ã®è¨­å®å¤ããã¨ã«ã³ã³ãã£ã®ã¥ã¬ã¼ã¿ã kernel_cfg.c ã«åºåããï¼
+割込み要因と優先度との対応，および優先度とマスクパターンとの対応には
+それぞれ intpri_table，及び iipm_mask_table という配列を使用する．
+これらは CFG_INT の設定値をもとにコンフィギュレータが kernel_cfg.c に出力する．
 
 
-CPUä¾å¤ã®ä¾å¤çªå·ã«ã¤ãã¦ã¯ï¼ã³ã¢ä¾å­é¨ã¨åæ§ã®ããçç¥ããï¼
+CPU例外の例外番号については，コア依存部と同様のため省略する．
 
 
-âä¾å¤/å²è¾¼ã¿ã®åä»
+●例外/割込みの受付
 
-ã»ä¾å¤/å²è¾¼ã¿ãåä»ããã¨ï¼åä»ãæã«ã¢ã¯ãã£ããªã¹ã¿ãã¯ä¸ã«ä»¥ä¸ã®ã³
-  ã³ãã­ã¹ããä¿å­ããï¼
+・例外/割込みを受付けると，受付け時にアクティブなスタック上に以下のコ
+  ンテキストを保存する．
 
    ---------------
   |   GICC_PMR     |  <- new SP
    ----------------
-  | å²è¾¼ã¿/ä¾å¤çªå·|
+  | 割込み/例外番号|
    ----------------
   |    ESR_ELx     |
@@ -131,6 +96,6 @@
   |      X29       |
    ----------------
-  |      ï¼        |
-  |      ï¼        |
+  |      ：        |
+  |      ：        |
    ----------------
   |      X1        |
@@ -141,122 +106,75 @@
 
 
-å²è¾¼ã¿/ä¾å¤çºçæã®ä¸»ãªã·ã¼ã±ã³ã¹ã¯æ¬¡ã®ããã«ãªãï¼é·ç§»å
-ã®ä¾å¤ã¬ãã«ãELxã¨è¡¨ç¾ããï¼
+割込み/例外発生時の主なシーケンスは次のようになる（遷移先の例外レベルをELxと表現する）
 
-ï¼ãã¼ãã¦ã§ã¢ã®å¦çï¼
-  ã»PSTATEãSPSR_ELxã«ä¿å­ãã
-  ã»ãªã¿ã¼ã³ã¢ãã¬ã¹ãELR_ELxã«ä¿å­ãã
-  ã»PSTATE.{D,A,I,F}ã1ã«ã»ãããã
-  ã»åæä¾å¤ããã³SErrorå²è¾¼ã¿ã®ã¨ãï¼ä¾å¤è¦å æ
-å ±ãESR_ELxã«ä¿å­ãã
-  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ãSP_ELxã«åãæ¿ãã
-  ã»ï¼CPUä¾å¤ã®å ´åï¼ä¾å¤çªå·ãx22ã«æ ¼ç´
-  ã»ELxã¸é·ç§»ãã
+（ハードウェアの処理）
+  ・PSTATEをSPSR_ELxに保存する
+  ・リターンアドレスをELR_ELxに保存する
+  ・PSTATE.{D,A,I,F}を1にセットする
+  ・同期例外およびSError割込みのとき，例外要因情報をESR_ELxに保存する
+  ・スタックポインタをSP_ELxに切り替える
+  ・（CPU例外の場合）例外番号をx22に格納
+  ・ELxへ遷移する
 
-ï¼ã½ããã¦ã§ã¢ã§ã®å¦çï¼
-  ã»(çºçæã«SP_EL0ãä½¿ç¨ãã¦ããå ´å)ã¹ã¿ãã¯ãå²è¾¼ã¿çºçå(SP_EL0)ã«æ»ã
-  ã»æ±ç¨ã¬ã¸ã¹ã¿(X0-X30)ãã¹ã¿ãã¯ã«ä¿å­
-  ã»SPSR_ELx, ESR_ELx, ELR_ELxãã¹ã¿ãã¯ã«ä¿å­
-  ã»(å²è¾¼ã¿)ãã³ãã£ã³ã°ã¬ã¸ã¹ã¿ããå²è¾¼ã¿çªå·ãåå¾
-    (CPUä¾å¤)ä¾å¤çªå·ãx22ããåå¾
-  ã»å²è¾¼ã¿çªå·ï¼ä¾å¤çªå·ãã¹ã¿ãã¯ã«ä¿å­
-  ã»å²è¾¼ã¿çºçåã®å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ãã¹ã¿ãã¯ã«ä¿å­
-  ã»åãä»ããå²è¾¼ã¿ã®å²è¾¼ã¿åªå
-åº¦ãå¤æ° current_intpri ã«ã»ãã
-  ã»(å²è¾¼ã¿ã®å ´å)å²è¾¼ã¿åªå
-åº¦ã®å¤ãå
-ã«ï¼å²è¾¼ã¿ããã¹ã¯ãã
-  ã»å²è¾¼ã¿/ä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã
-  ã»(å²è¾¼ã¿ã®å ´å)CPUã­ãã¯è§£é¤
-    (ã«ã¼ãã«ç®¡çã®CPUä¾å¤ã®å ´å)ä¾å¤çºçåã®PSTATEç¶æ
-ã«è¨­å®
-  ã»ãã³ãã©ã®é
-åããã¢ãã¬ã¹ãèª­ã¿è¾¼ã¿ãã³ãã©ãå®è¡ãã
+（ソフトウェアでの処理）
+  ・(発生時にSP_EL0を使用していた場合)スタックを割込み発生前(SP_EL0)に戻す
+  ・汎用レジスタ(X0-X30)をスタックに保存
+  ・SPSR_ELx, ESR_ELx, ELR_ELxをスタックに保存
+  ・(割込み)ペンディングレジスタから割込み番号を取得
+    (CPU例外)例外番号をx22から取得
+  ・割込み番号，例外番号をスタックに保存
+  ・割込み発生前の割込み優先度マスクをスタックに保存
+  ・受け付けた割込みの割込み優先度を変数 current_intpri にセット
+  ・(割込みの場合)割込み優先度の値を元に，割込みをマスクする
+  ・割込み/例外ネストカウンタのインクリメント
+  ・(割込みの場合)CPUロック解除
+    (カーネル管理のCPU例外の場合)例外発生前のPSTATE状態に設定
+  ・ハンドラの配列からアドレスを読み込みハンドラを実行する
 
-âä¾å¤/å²è¾¼ã¿ããã®ãªã¿ã¼ã³
+●例外/割込みからのリターン
 
-ï¼ã½ããã¦ã§ã¢ã§ã®å¦çï¼
-  ã»CPUã­ãã¯ç¶æ
-ã¸ç§»è¡
-  ã»å²è¾¼ã¿/ä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ãã¯ãªã¡ã³ã
-  ã»(å²è¾¼ã¿ã®å ´å)å²è¾¼ã¿çºçåã®åªå
-åº¦ãã¹ã¯ãæ»ãï¼åªå
-åº¦ã«å¿ãã¦å²è¾¼ã¿ã®ãã¹ã¯ãè§£é¤ãã
-    (CPUä¾å¤ã®å ´å)CPUç®¡çå¤ã®ä¾å¤ã®å ´åï¼ä¾å¤çºçå
-ã¸ãªã¿ã¼ã³ãã
-  ã»æ»ãå
-ã®ã³ã³ãã­ã¹ããã·ã¹ãã ç¶æ
-ã«å¿ãã¦å²è¾¼ã¿/ä¾å¤çºçå
-ã¸ãªã¿ã¼ã³
-    ã¾ãã¯é
-å»¶ãã£ã¹ããããå®è¡ãã
-  ã»ELR_ELxã«æ»ãå
-ã¢ãã¬ã¹ï¼SPSR_ELxã«ãã­ã»ããµç¶æ
-ããããã
-    ã»ããããã¦ããç¶æ
-ã§eretå½ä»¤ãå®è¡ãï¼å²è¾¼ã¿/ä¾å¤ãããªã¿ã¼ã³
+（ソフトウェアでの処理）
+  ・CPUロック状態へ移行
+  ・割込み/例外ネストカウンタのデクリメント
+  ・(割込みの場合)割込み発生前の優先度マスクを戻し，優先度に応じて割込みのマスクを解除する
+    (CPU例外の場合)CPU管理外の例外の場合，例外発生元へリターンする
+  ・戻り先のコンテキストやシステム状態に応じて割込み/例外発生元へリターン
+    または遅延ディスパッチを実行する
+  ・ELR_ELxに戻り先アドレス，SPSR_ELxにプロセッサ状態がそれぞれ
+    セットされている状態でeret命令を実行し，割込み/例外からリターン
 
 
-â OSã®å®è£
+○ OSの実装
+
+1.チップ依存部名称: bcm283x
+
+現状では Raspberry Pi3B に搭載されるBCM2837のみサポートするが，
+Raspberry Pi に搭載されるプロセッサBCM283x (x=5,6,7)は周辺回路について
+共通する部分が多く，まとめて扱うことにするため依存部名称を bcm283x とした
 
 
-1.ãããä¾å­é¨åç§°: bcm283x
+2. 外部優先度と内部優先度
 
-ç¾ç¶ã§ã¯ Raspberry Pi3B ã«æ­è¼ãããBCM2837ã®ã¿ãµãã¼ããããï¼
-Raspberry Pi ã«æ­è¼ããããã­ã»ããµBCM283x (x=5,6,7)ã¯å¨è¾ºåè·¯ã«ã¤ãã¦
-å
-±éããé¨åãå¤ãï¼ã¾ã¨ãã¦æ±ããã¨ã«ããããä¾å­é¨åç§°ã bcm283x ã¨ãã
+外部優先度とはAPIで指定する割込み優先度(PRI型)のことであり，値が小さい
+ほど優先度が高い．割込みハンドラには，-1から連続した負の値を設定可能で
+ある．内部優先度は外部優先度の符号を反転した値とする．
+外部優先度と内部優先度の変換は以下のマクロで表現される．
 
-
-2. å¤é¨åªå
-åº¦ã¨å
-é¨åªå
-åº¦
-
-å¤é¨åªå
-åº¦ã¨ã¯APIã§æå®ããå²è¾¼ã¿åªå
-åº¦(PRIå)ã®ãã¨ã§ããï¼å¤ãå°ãã
-ã»ã©åªå
-åº¦ãé«ãï¼å²è¾¼ã¿ãã³ãã©ã«ã¯ï¼-1ããé£ç¶ããè² ã®å¤ãè¨­å®å¯è½ã§
-ããï¼å
-é¨åªå
-åº¦ã¯å¤é¨åªå
-åº¦ã®ç¬¦å·ãåè»¢ããå¤ã¨ããï¼
-å¤é¨åªå
-åº¦ã¨å
-é¨åªå
-åº¦ã®å¤æã¯ä»¥ä¸ã®ãã¯ã­ã§è¡¨ç¾ãããï¼
-
-/* å¤é¨è¡¨ç¾ã¸ã®å¤æ */
+/* 外部表現への変換 */
 #define EXT_IPM(pri) (-pri)
 
-/* å
-é¨è¡¨ç¾ã¸ã®å¤æ */
+/* 内部表現への変換 */
 #define INT_IPM(ipm) (-ipm)
 
 
-3. ã«ã¼ãã«ç®¡çå
-ã®æé«åªå
-åº¦(CPUã­ãã¯ç¶æ
-ã§ã®åªå
-åº¦ãã¹ã¯)
+3. カーネル管理内の最高優先度(CPUロック状態での優先度マスク)
 
-CPUã­ãã¯ç¶æ
-ã®å®è£
-ã«åªå
-åº¦ã¯ç¨ãã¦ããªãï¼
-ã¾ãåªå
-åº¦å¶å¾¡ã¯ã½ããã¦ã§ã¢ã§å®è£
-ãã¦ããããï¼
-ã«ã¼ãã«ç®¡çå
-ã®å²è¾¼ã¿ã®æé«åªå
-åº¦ã¯èªç±ã«è¨­å®å¯è½ã§ããï¼
+CPUロック状態の実装に優先度は用いていない．
+また優先度制御はソフトウェアで実装しているため，
+カーネル管理内の割込みの最高優先度は自由に設定可能である．
 
-ãããä¾å­é¨ã§æ¢å®å¤ã¨ãã¦-15ã«å®ç¾©ãã¦ãããï¼å¿
-è¦ã«å¿ãã¦
-ã¿ã¼ã²ããæ¯ã«å¿
-è¦ãªå¤ãè¨­å®ãããã¨ãã§ããï¼
+チップ依存部で既定値として-15に定義しているが，必要に応じて
+ターゲット毎に必要な値を設定することができる．
 
 
-ä»¥ä¸ï¼
+以上．
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.h	(revision 386)
@@ -8,56 +8,41 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *    kernel.hã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+ *    kernel.hのチップ依存部（BCM2837用）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
- *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
- *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，target_kernel.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -66,25 +51,21 @@
 
 /*
- *  ARM64ä¾å­å®ç¾©
+ *  ARM64依存定義
  */
 #include "arm64_gcc/common/core_kernel.h"
 
 /*
- *  ãµãã¼ãããæ©è½ã®å®ç¾©
+ *  サポートする機能の定義
  */
-// dis_int, ena_int å
-±ã«ãµãã¼ãããªã
+// dis_int, ena_int 共にサポートしない
 
 /*
- *  å²è¾¼ã¿åªå
-åº¦ã®ç¯å²
+ *  割込み優先度の範囲
  */
 #ifndef TMIN_INTPRI
-    #define TMIN_INTPRI             (-15)           /* å²è¾¼ã¿åªå
-åº¦ã®æå°å¤ï¼æé«å¤ï¼*/
+    #define TMIN_INTPRI             (-15)           /* 割込み優先度の最小値（最高値）*/
 #endif
 #ifndef TMAX_INTPRI
-    #define TMAX_INTPRI             (-1)            /* å²è¾¼ã¿åªå
-åº¦ã®æå¤§å¤ï¼æä½å¤ï¼ */
+    #define TMAX_INTPRI             (-1)            /* 割込み優先度の最大値（最低値） */
 #endif
 
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.trb
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.trb	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_kernel.trb	(revision 386)
@@ -12,47 +12,32 @@
 #
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
 #   $Id$
@@ -60,9 +45,9 @@
 
 #
-#  ãã¹2ã®çæã¹ã¯ãªããã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+#  パス2の生成スクリプトのチップ依存部（BCM2837用）
 #
 
 #
-#  æå¹ãªå²è¾¼ã¿çªå·ï¼å²è¾¼ã¿ãã³ãã©çªå·
+#  有効な割込み番号，割込みハンドラ番号
 #
 $INTNO_VALID = [ *($TMIN_INTNO..$TMAX_INTNO) ]
@@ -70,10 +55,10 @@
 
 #
-#  æå¹ãªCPUä¾å¤ãã³ãã©çªå·
+#  有効なCPU例外ハンドラ番号
 #
 $EXCNO_VALID = [ *(0..7) ]
 
 #
-#  ATT_ISRã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå·
+#  ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
 #
 $INTNO_ATTISR_VALID = $INTNO_VALID
@@ -81,5 +66,5 @@
 
 #
-#  DEF_INT/DEF_EXCã§ä½¿ç¨ã§ããå²è¾¼ã¿ãã³ãã©çªå·ï¼CPUä¾å¤ãã³ãã©çªå·
+#  DEF_INT/DEF_EXCで使用できる割込みハンドラ番号／CPU例外ハンドラ番号
 #
 $INHNO_DEFINH_VALID = $INHNO_VALID
@@ -87,6 +72,5 @@
 
 #
-#  CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨å²è¾¼ã¿åªå
-åº¦
+#  CFG_INTで使用できる割込み番号と割込み優先度
 #
 $INTNO_CFGINT_VALID = [*($TMIN_INTNO..11),*(32..39),93, 107,109,110,*(112..119),121] 
@@ -94,10 +78,10 @@
 
 #
-#  å²è¾¼ã¿å±æ§ä¸­ã®ã¿ã¼ã²ããä¾å­ã«ç¨ããããã
+#  割込み属性中のターゲット依存に用いるビット
 #
 #$TARGET_INTATR =
 
 #
-# ã³ã¢ä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+# コア依存部のインクルード
 #
 IncludeTrb("arm64_gcc/common/core_kernel.trb")
@@ -106,6 +90,5 @@
 
 #
-#  å²è¾¼ã¿è¦æ±ã©ã¤ã³åªå
-åº¦ãã¼ãã«
+#  割込み要求ライン優先度テーブル
 #
 
@@ -127,6 +110,5 @@
 
 #
-#  å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ãã¼ãã«
+#  割込み優先度マスクテーブル
 #
 
@@ -156,5 +138,5 @@
 
 #
-#  å²è¾¼ã¿ãã³ãã©ãã¼ãã«
+#  割込みハンドラテーブル
 #
 $kernelCfgC.comment_header("Interrupt Handler Table")
@@ -174,5 +156,5 @@
 
 #
-#  CPUä¾å¤ãã³ãã©ãã¼ãã«
+#  CPU例外ハンドラテーブル
 #
 $kernelCfgC.comment_header("CPU Exception Handler Table")
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.c
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.c	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.c	(revision 386)
@@ -10,52 +10,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- * ã·ãªã¢ã«ãã©ã¤ã
+ * シリアルドライバ
  */
 
@@ -67,5 +52,5 @@
 
 /*
- * ã¬ã¸ã¹ã¿è¨­å®å¤
+ * レジスタ設定値
  */
 #define PORT2SIOPID(x)  ((x) + 1)
@@ -85,5 +70,5 @@
 
 /*
- *  éä¿¡ãããã¡ã«ç©ºãããããï¼
+ *  送信バッファに空きがあるか？
  */
 Inline bool_t
@@ -94,5 +79,5 @@
 
 /*
- *  åä¿¡ãããã¡ã«æå­ããããï¼
+ *  受信バッファに文字があるか？
  */
 Inline bool_t
@@ -103,5 +88,5 @@
 
 /*
- *  åä¿¡ããæå­ã®ååºã
+ *  受信した文字の取出し
  */
 Inline char
@@ -112,5 +97,5 @@
 
 /*
- *  éä¿¡ããæå­ã®æ¸è¾¼ã¿
+ *  送信する文字の書込み
  */
 Inline void
@@ -121,5 +106,5 @@
 
 /*
- *  ã¿ã¼ã²ããã®ã·ãªã¢ã«åæå
+ *  ターゲットのシリアル初期化
  */
 void target_low_output_init(ID siopid)
@@ -135,5 +120,5 @@
     sil_wrw_mem(UART_CR(inib->baseAddress), 0U);
 
-    // ã¯ã­ãã¯ã®ã»ããã¢ãã
+    // クロックのセットアップ
     mbox[0] = 9*4;
     mbox[1] = MBOX_REQUEST;
@@ -174,5 +159,5 @@
 
 /*
- *  SIOåæå
+ *  SIO初期化
  */
 void sio_initialize(intptr_t exinf)
@@ -187,5 +172,5 @@
 
 /*
- *  ã·ãªã¢ã«ãªã¼ãã³
+ *  シリアルオープン
  */
 SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
@@ -202,5 +187,5 @@
     target_low_output_init(siopid);
 
-    // åä¿¡ã³ã¼ã«ããã¯è¨±å¯
+    // 受信コールバック許可
     sio_ena_cbr(siopcb, SIO_RDY_RCV);
 
@@ -209,10 +194,10 @@
 
 /*
- *  ã·ãªã¢ã«ã¯ã­ã¼ãº
+ *  シリアルクローズ
  */
 void sio_cls_por(SIOPCB *siopcb)
 {
     /*
-     *  UARTããã£ã¹ã¨ã¼ãã«
+     *  UARTをディスエーブル
      */
     sil_wrw_mem(UART_CR(siopcb->inib->baseAddress), 0U);
@@ -220,5 +205,5 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©
+ *  割込みハンドラ
  */
 #include "target_syssvc.h"
@@ -229,5 +214,5 @@
     if (sio_getready(siopcb)) {
         /*
-         *  åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         *  受信通知コールバックルーチンを呼び出す．
          */
         sio_irdy_rcv(siopcb->exinf);
@@ -235,5 +220,5 @@
     if (sio_putready(siopcb)) {
         /*
-         *  éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼
+         *  送信可能コールバックルーチンを呼び出す．
          */
         sio_irdy_snd(siopcb->exinf);
@@ -242,5 +227,5 @@
 
 /*
- *  1æå­éä¿¡
+ *  1文字送信
  */
 bool_t sio_snd_chr(SIOPCB *siopcb, char c)
@@ -254,5 +239,5 @@
 
 /*
- *  1æå­åä¿¡
+ *  1文字受信
  */
 int_t sio_rcv_chr(SIOPCB *siopcb)
@@ -265,5 +250,5 @@
 
 /*
- *  ã³ã¼ã«ããã¯ã®è¨±å¯
+ *  コールバックの許可
  */
 void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
@@ -287,5 +272,5 @@
 
 /*
- *  ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ *  コールバックの禁止
  */
 void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
@@ -309,5 +294,5 @@
 
 /*
- *  1æå­åºåï¼ãã¼ãªã³ã°ã§ã®åºåï¼
+ *  1文字出力（ポーリングでの出力）
  */
 void sio_pol_snd_chr(char c, ID siopid)
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.cfg
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.cfg	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.cfg	(revision 386)
@@ -1,4 +1,4 @@
 /*
- *  SIOãã©ã¤ãï¼CQ-FRK-FM3ç¨ï¼ã®ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *  SIOドライバ（CQ-FRK-FM3用）のコンフィグレーションファイル
  */
 
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.h	(revision 386)
@@ -8,52 +8,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  ã·ãªã¢ã«I/Oããã¤ã¹(SIO)ãã©ã¤ã
+ *  シリアルI/Oデバイス(SIO)ドライバ
  */
 
@@ -62,27 +47,26 @@
 
 /*
- *  SIOã®å²è¾¼ã¿è¨­å®
+ *  SIOの割込み設定
  */
-#define INTNO_SIO     TINTNO_UART         // å²è¾¼ã¿çªå·
+#define INTNO_SIO     TINTNO_UART         // 割込み番号
 
 #ifndef INTATR_SIO
-    #define INTATR_SIO    TA_NULL         // å²è¾¼ã¿å±æ§
+    #define INTATR_SIO    TA_NULL         // 割込み属性
 #endif
 
 #ifndef INTPRI_SIO
-    #define INTPRI_SIO    (-2)            // å²è¾¼ã¿åªå
-åº¦
+    #define INTPRI_SIO    (-2)            // 割込み優先度
 #endif
 
 /*
- *  ã³ã¼ã«ããã¯ã«ã¼ãã³ã®è­å¥çªå·
+ *  コールバックルーチンの識別番号
  */
-#define SIO_RDY_SND    1U        /* éä¿¡å¯è½ã³ã¼ã«ããã¯ */
-#define SIO_RDY_RCV    2U        /* åä¿¡éç¥ã³ã¼ã«ããã¯ */
+#define SIO_RDY_SND    1U        /* 送信可能コールバック */
+#define SIO_RDY_RCV    2U        /* 受信通知コールバック */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  ã·ãªã¢ã«ãã¼ãã®åæåãã­ãã¯
+ *  シリアルポートの初期化ブロック
  */
 typedef const struct tag_SIOPINIB {
@@ -94,5 +78,5 @@
 
 /*
- *  ã·ãªã¢ã«ãã¼ãã®ç®¡çãã­ãã¯
+ *  シリアルポートの管理ブロック
  */
 typedef struct sio_port_control_block {
@@ -102,60 +86,60 @@
 
 /*
- *  SIOåæå
+ *  SIO初期化
  */
 extern void sio_initialize(intptr_t exinf);
 
 /*
- *  ã·ãªã¢ã«ãªã¼ãã³
+ *  シリアルオープン
  */
 extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
 
 /*
- *  ã·ãªã¢ã«ã¯ã­ã¼ãº
+ *  シリアルクローズ
  */
 extern void sio_cls_por(SIOPCB *p_siopcb);
 
 /*
- *  å²è¾¼ã¿ãã³ãã©
+ *  割込みハンドラ
  */
 extern void sio_isr(intptr_t exinf);
 
 /*
- *  1æå­éä¿¡
+ *  1文字送信
  */
 extern bool_t sio_snd_chr(SIOPCB *siopcb, char c);
 
 /*
- *  1æå­åä¿¡
+ *  1文字受信
  */
 extern int_t sio_rcv_chr(SIOPCB *siopcb);
 
 /*
- *  ã³ã¼ã«ããã¯ã®è¨±å¯
+ *  コールバックの許可
  */
 extern void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  ã³ã¼ã«ããã¯ã®ç¦æ­¢
+ *  コールバックの禁止
  */
 extern void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
 
 /*
- *  éä¿¡å¯è½ã³ã¼ã«ããã¯
+ *  送信可能コールバック
  */
 extern void sio_irdy_snd(intptr_t exinf);
 
 /*
- *  åä¿¡éç¥ã³ã¼ã«ããã¯
+ *  受信通知コールバック
  */
 extern void sio_irdy_rcv(intptr_t exinf);
 
 /*
- *  1æå­éä¿¡ï¼ãã¼ãªã³ã°ã§ã®åºåï¼
+ *  1文字送信（ポーリングでの出力）
  */
 extern void sio_pol_snd_chr(char c, ID siopid);
 
 /*
- *  ä½ã¬ãã«åºååæå
+ *  低レベル出力初期化
  */
 extern void target_low_output_init(ID siopid);
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_sil.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_sil.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_sil.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,5 +41,5 @@
 
 /*
- *   sil.hã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+ *   sil.hのチップ依存部（BCM2837用）
  */
 
@@ -63,6 +48,5 @@
 
 /*
- *  ARMv8-A ã®å
-±éå®ç¾©
+ *  ARMv8-A の共通定義
  */
 #include "arm64_gcc/common/core_sil.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_stddef.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_stddef.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_stddef.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,9 +41,9 @@
 
 /*
- *  t_stddef.hã®ãããä¾å­é¨ï¼BCM2837ç¨ï¼
+ *  t_stddef.hのチップ依存部（BCM2837用）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_stddef.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
- *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
- *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，target_stddef.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -67,10 +52,10 @@
 
 /*
- *  ã¿ã¼ã²ãããè­å¥ããããã®ãã¯ã­ã®å®ç¾©
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_BCM283X           /* ãããç¥ç§° */
+#define TOPPERS_BCM283X           /* チップ略称 */
 
 /*
- *  ã³ã¢ä¾å­é¨å®ç¾©
+ *  コア依存部定義
  */
 #include "arm64_gcc/common/core_stddef.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_support.S
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_support.S	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_support.S	(revision 386)
@@ -6,65 +6,49 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
- *
- */
-
-/*
- *  ãããä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨(BCM2837)
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ *
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ *
+ */
+
+/*
+ *  チップ依存モジュール アセンブリ言語部(BCM2837)
  */
 
 #define TOPPERS_MACRO_ONLY
-#define UINT_C(val)	(val)		/* uint_tåã®å®æ°ãä½ããã¯ã­ */
-#define ULONG_C(val)	(val)		/* ulong_tåã®å®æ°ãä½ããã¯ã­ */
-#define UINT64_C(val)   (val)           /* uint64_tåã®å®æ°ãä½ããã¯ã­ */
-#define CAST(type, val)	(val)		/* åã­ã£ã¹ããè¡ããã¯ã­ */
+#define UINT_C(val)	(val)		/* uint_t型の定数を作るマクロ */
+#define ULONG_C(val)	(val)		/* ulong_t型の定数を作るマクロ */
+#define UINT64_C(val)   (val)           /* uint64_t型の定数を作るマクロ */
+#define CAST(type, val)	(val)		/* 型キャストを行うマクロ */
 
 #include "kernel_impl.h"
 
 /*
- *  ä¾å¤å
-¥å£ã®æä½
+ *  例外入口の操作
  *    x22: excno(0..7)
  */
@@ -84,17 +68,15 @@
     bl    call_exc_handler
 
-    // ä¾å¤çºçç´åã®Iãã©ã°ã¾ãã¯Fãã©ã°ã1ãªãã«ã¼ãã«ç®¡çå¤ã®CPUä¾å¤ã¨ã¿ãªã
+    // 例外発生直前のIフラグまたはFフラグが1ならカーネル管理外のCPU例外とみなす
     ldr   x3, [x0, #32]      // SPSR --> x1
     tst   x3, #(3 << 6)
     b.ne  ret_exc
 
-    // ã«ã¼ãã«ç®¡çã®CPUä¾å¤ã®å ´åã¯å²è¾¼ã¿ã®åºå£å¦çã¨å
-±é
+    // カーネル管理のCPU例外の場合は割込みの出口処理と共通
     msr   daifclr, #AARCH64_DAIF_FIQ
     b     ret_int
 
 /*
- *  FIQã®å
-¥å£å¦ç
+ *  FIQの入口処理
  */
     .text
@@ -106,6 +88,5 @@
 
 /*
- *  å²è¾¼ã¿å
-¥å£ã®æä½
+ *  割込み入口の操作
  */
     .text
@@ -115,5 +96,5 @@
     mov    x0,    sp
     /*
-     *  å²è¾¼ã¿è¦å ã®ç¹å®ã¨ä¿å­
+     *  割込み要因の特定と保存
      */
 find_int_src_core: // find a interrupt source from core(core 0)
@@ -250,7 +231,5 @@
 
     /*
-     *  å²è¾¼ã¿çºçç´åã®å²è¾¼ã¿åªå
-åº¦ï¼å
-é¨è¡¨ç¾ï¼ãä¿å­
+     *  割込み発生直前の割込み優先度（内部表現）を保存
      */
     adrp  x1, current_intpri
@@ -260,6 +239,5 @@
 
     /*
-     *  å²è¾¼ã¿è¦å ã®åªå
-åº¦ãåå¾
+     *  割込み要因の優先度を取得
      */
     adrp  x3, _kernel_intpri_table
@@ -267,25 +245,23 @@
     ldr   w4, [x3, x9, lsl #2]
 
-    // çºçããå²è¾¼ã¿ã®åªå
-åº¦ããã¨ã«å²è¾¼ã¿ããã¹ã¯
+    // 発生した割込みの優先度をもとに割込みをマスク
     mov   w0, w4        //  arg: intpri
     bl    chip_mask_interrupt
 
-    // D,A,F ãã©ã°ãã¯ãªã¢ãã¦ãã(CPUã­ãã¯ç¸å½ã«ãã)
+    // D,A,F フラグをクリアしておく(CPUロック相当にする)
     msr   daifclr, #(AARCH64_DAIF_DBG | AARCH64_DAIF_SERR | AARCH64_DAIF_FIQ)
 
-    // ãã³ãã©å¼ã³åºã
+    // ハンドラ呼び出し
     mov   x0, sp
     ldr   w9, [x0, #8]
     mov   w0, w9             // arg: intno
     bl    call_int_handler
-    /* ãã®ã¾ã¾ chip_ret_int ã¸ */
-
-/*
- *  å²è¾¼ã¿åºå£ã®GICæä½
+    /* そのまま chip_ret_int へ */
+
+/*
+ *  割込み出口のGIC操作
  */
 chip_ret_int:
-    // å²è¾¼ã¿çºçåã®åªå
-åº¦ã«æ»ã
+    // 割込み発生前の優先度に戻す
     mov   x0, sp
     adrp  x1, current_intpri
@@ -294,7 +270,5 @@
     str   w2, [x1]
 
-    // åªå
-åº¦ãå
-ã«å²è¾¼ã¿ã®ãã¹ã¯ãæ»ã
+    // 優先度を元に割込みのマスクを戻す
     mov   w0, w2
     bl    chip_unmask_interrupt
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_test.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_test.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_test.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,5 +41,5 @@
 
 /*
- *  ãã¹ããã­ã°ã©ã ã®ãããä¾å­å®ç¾©ï¼BCM2837ç¨ï¼
+ *  テストプログラムのチップ依存定義（BCM2837用）
  */
 
@@ -63,6 +48,5 @@
 
 /*
- *  ã³ã¢å
-±éå®ç¾©
+ *  コア共通定義
  */
 #include "arm64_gcc/common/core_test.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.cfg
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.cfg	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.cfg	(revision 386)
@@ -1,4 +1,4 @@
 /*
- *    ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *    タイマドライバのコンフィギュレーションファイル
  */
 INCLUDE("arm64_gcc/common/core_timer.cfg");
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_timer.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -56,5 +41,5 @@
 
 /*
- *  ã¿ã¤ããã©ã¤ãï¼BCM283Xç¨ï¼
+ *  タイマドライバ（BCM283X用）
  */
 
@@ -63,5 +48,5 @@
 
 /*
- *  ARMv8-A ä¾å­å®ç¾©
+ *  ARMv8-A 依存定義
  */
 #include "arm64_gcc/common/core_timer.h"
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_user.txt
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_user.txt	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_user.txt	(revision 386)
@@ -1,50 +1,42 @@
 =====================================================================
-                         BCM283xãããä¾å­é¨
+                         BCM283xチップ依存部
                                   Last Modified: '19/04/16
 =====================================================================
 
 
-(1) å¯¾å¿ãã¦ããã¿ã¼ã²ããã·ã¹ãã ã®ç¨®é¡ã»æ§æ
+(1) 対応しているターゲットシステムの種類・構成
 
-bcm283xãããä¾å­é¨ã¯ï¼ä¸»ã« Raspberry Pi ã§ä½¿ç¨ããã Broadcomè£½ãããã
-ã¿ã¼ã²ããã¨ããï¼ç¾æç¹ã§ã¯ Raspberru Pi 3B ã«æ­è¼ãããBCM2837 ããµãã¼ãããï¼
+bcm283xチップ依存部は，主に Raspberry Pi で使用される Broadcom製チップを
+ターゲットとする．現時点では Raspberru Pi 3B に搭載されるBCM2837 をサポートする．
 
-(2) ä½¿ç¨ããéçºç°å¢ã¨åä½æ¤è¨¼ããæ¡ä»¶ï¼ãã¼ã¸ã§ã³ï¼ãªãã·ã§ã³ç­ï¼
+(2) 使用する開発環境と動作検証した条件（バージョン，オプション等）
 
-ã«ã¼ãã«ã¯GCCãç¨ãã¦ã³ã³ãã¤ã«ããï¼åä½ç¢ºèªãããã¼ã¸ã§ã³ã¯åã¿ã¼ã²
-ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
+カーネルはGCCを用いてコンパイルする．動作確認したバージョンは各ターゲ
+ット依存部のドキュメントに記載する．
 
-(3) ã¿ã¼ã²ããå®ç¾©äºé 
-ã®è¦å®
+(3) ターゲット定義事項の規定
 
-(3-1) å²è¾¼ã¿å¦çã«é¢ããè¦å®
+(3-1) 割込み処理に関する規定
 
-(3-1-1) æ¦è¦
+(3-1-1) 概要
 
-BCM283x ã¯ç¬èªã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ãæ­è¼ãï¼ä»¥ä¸ã®ç¹å¾´ãæã¤ï¼
-ã»å²è¾¼ã¿åªå
-ã¬ãã«ã¯ãµãã¼ãããªãï¼
-ã»å²è¾¼ã¿ã¯å
-¨ã¦ã¬ãã«ããªã¬ã§ããï¼ãããã£ã¦å²è¾¼ã¿è¦æ±ãã©ã°ã¯
-  å²è¾¼ã¿çºçå
-ã®ããã¤ã¹ãç´æ¥æä½ãã¦ã¯ãªã¢ããå¿
-è¦ãããï¼
+BCM283x は独自の割込みコントローラを搭載し，以下の特徴を持つ．
+・割込み優先レベルはサポートしない．
+・割込みは全てレベルトリガである．したがって割込み要求フラグは
+  割込み発生元のデバイスを直接操作してクリアする必要がある．
 
-BCM283xä¾å­é¨ã§ã¯ï¼IRQ ãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ï¼FIQãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ããï¼
+BCM283x依存部では，IRQ をカーネル管理の割込み，FIQをカーネル管理外の割込みとする．
 
 
-(3-1-2) å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã®å²å½ã¦ï¼ä¸¡è
-ã®å¯¾å¿
+(3-1-2) 割込みハンドラ番号と割込み番号の割当て，両者の対応
 
-å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã¯ï¼BCM2835åã³BCM2836ã®
-ããªãã§ã©ã«ããã¥ã¢ã«(ä¸è¨aåã³b)ããï¼ãã³ãã£ã³ã°ã¬ã¸ã¹ã¿ã®ãããä½ç½®ã«åºã¥ãã¦
-0ãã127ã®çªå·ãå²ãå½ã¦ãï¼(åã
-ã®å®ç¾©ã¯ bcm2837.h ãåç
-§)
+割込みハンドラ番号と割込み番号は，BCM2835及びBCM2836の
+ペリフェラルマニュアル(下記a及びb)から，ペンディングレジスタのビット位置に基づいて
+0から127の番号を割り当てる．(個々の定義は bcm2837.h を参照)
 
- 0 ... 31  Core interrupt (ä¸è¨aã®P16 ãCore0 interrupt sourceãã«å¯¾å¿)
-32 ... 63  ARM peripherals interrupt(bã®P113ãBasic pending registerãã«å¯¾å¿)
-64 ... 95  ARM peripherals interrupt(bã®P115ãGPU pending register 1ãã«å¯¾å¿)
-96 ...127  ARM peripherals interrupt(bã®P115ãGPU pending register 2ãã«å¯¾å¿)
+ 0 ... 31  Core interrupt (下記aのP16 「Core0 interrupt source」に対応)
+32 ... 63  ARM peripherals interrupt(bのP113「Basic pending register」に対応)
+64 ... 95  ARM peripherals interrupt(bのP115「GPU pending register 1」に対応)
+96 ...127  ARM peripherals interrupt(bのP115「GPU pending register 2」に対応)
 
 (a) QA7(ARM Quad A7 core)
@@ -55,85 +47,63 @@
 
 
-(3-1-3) å²è¾¼ã¿åªå
-åº¦ã®æ®µéæ°ï¼TMIN_INTPRIã®å¤ï¼ï¼ãã®è¨­å®æ¹æ³
+(3-1-3) 割込み優先度の段階数（TMIN_INTPRIの値），その設定方法
 
-å²è¾¼ã¿åªå
-åº¦ã®æ®µéæ°ã¯ï¼ã¿ã¼ã²ããä¾å­é¨æ¯ã«ç°ãªãï¼
-BCM283x ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯åªå
-åº¦å¶å¾¡æ©è½ãæããªãããã½ããã¦ã§ã¢ã§å®ç¾ããï¼
-ãã®ããæ®µéæ°ãç¬èªã«è¨­å®ãããã¨ãå¯è½ã§ããï¼
+割込み優先度の段階数は，ターゲット依存部毎に異なる．
+BCM283x の割込みコントローラは優先度制御機能を持たないためソフトウェアで実現する．
+そのため段階数を独自に設定することが可能である．
 
-ã«ã¼ãã«ç®¡çå
-ã®å²è¾¼ã¿ã«å¯¾ããæé«åªå
-åº¦(TMIN_INTPRI)ã¯ãããä¾å­é¨ã§
-æ¢å®å¤ãå®ç¾©ãã¦ãããï¼ã¿ã¼ã²ããä¾å­é¨ã§è¨­å®ãããã¨ãå¯è½ã§ããï¼
+カーネル管理内の割込みに対する最高優先度(TMIN_INTPRI)はチップ依存部で
+既定値を定義しているが，ターゲット依存部で設定することも可能である．
 
-åå²è¾¼ã¿ã®å²è¾¼ã¿åªå
-åº¦ã¯ï¼CFG_INT ã§è¨­å®ããï¼åªå
-åº¦ã¯ TMIN_INTPRI ä»¥ä¸ã®å¤
-(åªå
-åº¦ã¨ãã¦ã¯ä½ãå¤)ãæå®ããï¼
+各割込みの割込み優先度は，CFG_INT で設定する．優先度は TMIN_INTPRI 以上の値
+(優先度としては低い値)を指定する．
 
-(3-1-4) dis_intã¨ena_intã®ãµãã¼ãã®æç¡ï¼ãã®å¶éäºé 
+(3-1-4) dis_intとena_intのサポートの有無，その制限事項
+
+dis_int と ena_int はサポートしない
 
 
-dis_int ã¨ ena_int ã¯ãµãã¼ãããªã
+(3-1-5) CFG_INTの制限事項と拡張（ターゲット定義で使用できる割込み属性）
+
+レベル割込みしかサポートしないため，エッジ/レベルのトリガ設定は意味をもたない．
+その他，ターゲット独自に使用可能な割込み属性はない．
 
 
-(3-1-5) CFG_INTã®å¶éäºé 
-ã¨æ¡å¼µï¼ã¿ã¼ã²ããå®ç¾©ã§ä½¿ç¨ã§ããå²è¾¼ã¿å±æ§ï¼
+(3-1-6) カーネル管理外の割込み
 
-ã¬ãã«å²è¾¼ã¿ãããµãã¼ãããªãããï¼ã¨ãã¸/ã¬ãã«ã®ããªã¬è¨­å®ã¯æå³ããããªãï¼
-ãã®ä»ï¼ã¿ã¼ã²ããç¬èªã«ä½¿ç¨å¯è½ãªå²è¾¼ã¿å±æ§ã¯ãªãï¼
+FIQ割込みをカーネル管理外の割込みとして扱う．
+
+FIQ割込みが発生すると該当する割込みベクタからレジスタの退避を行なった後に
+call_fiq_handler (core_config.c) が呼び出される．この関数は，
+コアの全ての例外がマスクされた状態(ステータスレジスタのD,A,I,Fが全て1)で
+呼び出される．
+
+FIQを利用するための設定，発生したFIQ 割込みに対する要因判別，
+及び対応するハンドラ等の処理は独自に実装する必要がある．
+
+カーネル管理外の割込みを設定するためのAPIはサポートしない．
 
 
-(3-1-6) ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿
+(3-2) CPUロック・割込みロック
 
-FIQå²è¾¼ã¿ãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ãã¦æ±ãï¼
+CPUロックは，ステータスレジスタのIビットの値で判別する．
+全割込みロックフラグの実装ではこれに加えFビットも使用する．
 
-FIQå²è¾¼ã¿ãçºçããã¨è©²å½ããå²è¾¼ã¿ãã¯ã¿ããã¬ã¸ã¹ã¿ã®éé¿ãè¡ãªã£ãå¾ã«
-call_fiq_handler (core_config.c) ãå¼ã³åºãããï¼ãã®é¢æ°ã¯ï¼
-ã³ã¢ã®å
-¨ã¦ã®ä¾å¤ããã¹ã¯ãããç¶æ
-(ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®D,A,I,Fãå
-¨ã¦1)ã§
-å¼ã³åºãããï¼
-
-FIQãå©ç¨ããããã®è¨­å®ï¼çºçããFIQ å²è¾¼ã¿ã«å¯¾ããè¦å å¤å¥ï¼
-åã³å¯¾å¿ãããã³ãã©ç­ã®å¦çã¯ç¬èªã«å®è£
-ããå¿
-è¦ãããï¼
-
-ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ãè¨­å®ããããã®APIã¯ãµãã¼ãããªãï¼
+CPUロックフラグは割込みロックフラグとは独立したフラグとしてサポートする．
+そのため，SIL_LOC_INT呼び出し時はIフラグの状態を記憶し，
+SIL_UNL_INT呼び出し時に元の状態に戻している．
 
 
-(3-2) CPUã­ãã¯ã»å²è¾¼ã¿ã­ãã¯
+(3-3) 性能評価用システム時刻の参照に関する規定
 
-CPUã­ãã¯ã¯ï¼ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®Iãããã®å¤ã§å¤å¥ããï¼
-å
-¨å²è¾¼ã¿ã­ãã¯ãã©ã°ã®å®è£
-ã§ã¯ããã«å ãFããããä½¿ç¨ããï¼
-
-CPUã­ãã¯ãã©ã°ã¯å²è¾¼ã¿ã­ãã¯ãã©ã°ã¨ã¯ç¬ç«ãããã©ã°ã¨ãã¦ãµãã¼ãããï¼
-ãã®ããï¼SIL_LOC_INTå¼ã³åºãæã¯Iãã©ã°ã®ç¶æ
-ãè¨æ¶ãï¼
-SIL_UNL_INTå¼ã³åºãæã«å
-ã®ç¶æ
-ã«æ»ãã¦ããï¼
+get_utmをサポートしない．
 
 
-(3-3) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
-§ã«é¢ããè¦å®
+(3-4) スタートアップルーチンでの初期化内容
 
-get_utmããµãã¼ãããªãï¼
+スタートアップルーチンはターゲット依存部のドキュメントに記載する．
 
 
-(3-4) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã®åæåå
-å®¹
-
-ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã¯ã¿ã¼ã²ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
-
-
-(4) ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ
+(4) ディレクトリ構成・ファイル構成
   ./arch/arm64_gcc/bcm283x/
     MANIFEST
@@ -163,8 +133,8 @@
     pl011.h
 
-(12) ãã¼ã¸ã§ã³å±¥æ­´
+(12) バージョン履歴
 
 2018/05/30
- ã»æåã®ãªãªã¼ã¹
+ ・最初のリリース
 2019/04/15
- ã»BCM283xãããä¾å­é¨ã®åé¢ã«åããã¦ä¿®æ­£
+ ・BCM283xチップ依存部の分離に合わせて修正
Index: /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/pl011.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/pl011.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/pl011.h	(revision 386)
@@ -11,47 +11,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -59,5 +44,5 @@
 
 /*
- *  ARM PrimCell UARTï¼PL011ï¼ã«é¢ããå®ç¾©
+ *  ARM PrimCell UART（PL011）に関する定義
  */
 
@@ -66,5 +51,5 @@
 
 /*
- *  UARTã¬ã¸ã¹ã¿ã®çªå°ã®å®ç¾©
+ *  UARTレジスタの番地の定義
  */
 #define UART_DR(base)		((uint32_t *)((base) + 0x00U))
@@ -83,31 +68,30 @@
 
 /*
- *  ãã©ã°ã¬ã¸ã¹ã¿ï¼UART_FRï¼ã®åç
-§å¤
+ *  フラグレジスタ（UART_FR）の参照値
  */
-#define UART_FR_RXFE		UINT_C(0x10)	/* åä¿¡ãããã¡ãç©º */
-#define UART_FR_TXFF		UINT_C(0x20)	/* éä¿¡ãããã¡ããã« */
+#define UART_FR_RXFE		UINT_C(0x10)	/* 受信バッファが空 */
+#define UART_FR_TXFF		UINT_C(0x20)	/* 送信バッファがフル */
 
 /*
- *  ã©ã¤ã³å¶å¾¡ã¬ã¸ã¹ã¿ï¼UART_LCR_Hï¼ã®è¨­å®å¤
+ *  ライン制御レジスタ（UART_LCR_H）の設定値
  */
-#define UART_LCR_H_PEN		UINT_C(0x02)	/* ããªãã£ãç¨ãã */
-#define UART_LCR_H_EPS		UINT_C(0x04)	/* å¶æ°ããªãã£ã« */
-#define UART_LCR_H_STP2		UINT_C(0x08)	/* ã¹ããããããã2ãããã« */
-#define UART_LCR_H_FEN		UINT_C(0x10)	/* FIFOãæå¹ã« */
-#define UART_LCR_H_WLEN8	UINT_C(0x60)	/* ãã¼ã¿é·ã8ãããã« */
+#define UART_LCR_H_PEN		UINT_C(0x02)	/* パリティを用いる */
+#define UART_LCR_H_EPS		UINT_C(0x04)	/* 偶数パリティに */
+#define UART_LCR_H_STP2		UINT_C(0x08)	/* ストップビットを2ビットに */
+#define UART_LCR_H_FEN		UINT_C(0x10)	/* FIFOを有効に */
+#define UART_LCR_H_WLEN8	UINT_C(0x60)	/* データ長を8ビットに */
 
 /*
- *  å¶å¾¡ã¬ã¸ã¹ã¿ï¼UART_CRï¼ã®è¨­å®å¤
+ *  制御レジスタ（UART_CR）の設定値
  */
-#define UART_CR_UARTEN	UINT_C(0x0001)		/* UARTãã¤ãã¼ãã«ã« */
-#define UART_CR_TXE		UINT_C(0x0100)		/* éä¿¡ãã¤ãã¼ãã«ã« */
-#define UART_CR_RXE		UINT_C(0x0200)		/* åä¿¡ãã¤ãã¼ãã«ã« */
+#define UART_CR_UARTEN	UINT_C(0x0001)		/* UARTをイネーブルに */
+#define UART_CR_TXE		UINT_C(0x0100)		/* 送信をイネーブルに */
+#define UART_CR_RXE		UINT_C(0x0200)		/* 受信をイネーブルに */
 
 /*
- *  å²è¾¼ã¿ãã¹ã¯ã»ããï¼ã¯ãªã¢ã¬ã¸ã¹ã¿ï¼UART_IMSCï¼ã®è¨­å®å¤
+ *  割込みマスクセット／クリアレジスタ（UART_IMSC）の設定値
  */
-#define UART_IMSC_RXIM	UINT_C(0x0010)		/* åä¿¡å²è¾¼ã¿ãã¹ã¯ */
-#define UART_IMSC_TXIM	UINT_C(0x0020)		/* éä¿¡å²è¾¼ã¿ãã¹ã¯ */
+#define UART_IMSC_RXIM	UINT_C(0x0010)		/* 受信割込みマスク */
+#define UART_IMSC_TXIM	UINT_C(0x0020)		/* 送信割込みマスク */
 
 #ifndef TOPPERS_MACRO_ONLY
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/Makefile.core
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/Makefile.core	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/Makefile.core	(revision 386)
@@ -1,13 +1,13 @@
 #
-#  Makefile ã®ã³ã¢ä¾å­é¨ï¼ARMv8-Aç¨ï¼
+#  Makefile のコア依存部（ARMv8-A用）
 #
 
 #
-#  ãã£ã¬ã¯ããªåã®å®ç¾©
+#  ディレクトリ名の定義
 #
 COREDIR = $(SRCDIR)/arch/$(CORE)_$(TOOL)/common
 
 #
-#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#  コンパイルオプション
 #
 COPTS := $(COPTS) -march=armv8-a -mlittle-endian -mstrict-align
@@ -18,5 +18,5 @@
 
 #
-#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#  カーネルに関する定義
 #
 KERNEL_DIRS := $(KERNEL_DIRS) $(COREDIR)
@@ -26,5 +26,5 @@
 
 #
-#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := $(CFG_TABS) --symval-table $(COREDIR)/core_sym.def
@@ -34,5 +34,5 @@
 
 #
-#  ä¾å­é¢ä¿ã®å®ç¾©
+#  依存関係の定義
 #
 cfg1_out.c: $(COREDIR)/core_sym.def
@@ -41,5 +41,5 @@
 
 #
-#  ãã®ä»
+#  その他
 #
 CLEAN_FILES := $(CLEAN_FILES)
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/arm64.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/arm64.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/arm64.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -85,7 +70,5 @@
 
 /*
- *  DAIFã®è¨­å®ããã³ç¶æ
-åç
-§
+ *  DAIFの設定および状態参照
  */
 Inline uint32_t
@@ -103,5 +86,5 @@
 
 /*
- *  DAIF.I ã®ã»ãã/ã¯ãªã¢
+ *  DAIF.I のセット/クリア
  */
 Inline void
@@ -116,5 +99,5 @@
 
 /*
- *  DAIF.F ã®ã»ãã/ã¯ãªã¢
+ *  DAIF.F のセット/クリア
  */
 Inline void
@@ -129,5 +112,5 @@
 
 /*
- *  DAIF.F ããã³ DAIF.I ã®åæã»ãã/ã¯ãªã¢
+ *  DAIF.F および DAIF.I の同時セット/クリア
  */
 Inline void
@@ -142,7 +125,5 @@
 
 /*
- *  DAIF.I ã®ç¶æ
-åç
-§
+ *  DAIF.I の状態参照
  */
 Inline bool_t
@@ -164,7 +145,5 @@
 
 /*
- *  DAIF.F ã®ç¶æ
-åç
-§
+ *  DAIF.F の状態参照
  */
 Inline bool_t
@@ -186,5 +165,5 @@
 
 /*
- *  ã¯ãªãã£ã«ã«å¦çã®åºå£(æé©åé²æ­¢)
+ *  クリティカル処理の出口(最適化防止)
  */
 Inline void
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_cfg1_out.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_cfg1_out.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_cfg1_out.h	(revision 386)
@@ -4,6 +4,5 @@
 
 /*
- *		cfg1_out.cããªã³ã¯ããããã«å¿
-è¦ãªã¹ã¿ãã®å®ç¾©
+ *		cfg1_out.cをリンクするために必要なスタブの定義
  */
 
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_check.trb
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_check.trb	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_check.trb	(revision 386)
@@ -1,9 +1,9 @@
 # -*- coding: utf-8 -*-
 # 
-#		ãã¹3ã®çæã¹ã¯ãªããã®ã³ã¢ä¾å­é¨ï¼ARM64ç¨ï¼
+#		パス3の生成スクリプトのコア依存部（ARM64用）
 # 
 
 #
-#  ã¿ã¼ã²ããéä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+#  ターゲット非依存部のインクルード
 #
 IncludeTrb("kernel/kernel_check.trb")
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.c
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.c	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.c	(revision 386)
@@ -9,47 +9,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -57,5 +42,5 @@
 
 /*
- *  ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARMv8-Aç¨ï¼
+ *  コア依存モジュール（ARMv8-A用）
  */
 
@@ -63,19 +48,19 @@
 #include <t_syslog.h>
 
-/* å²è¾¼ã¿ãã¹ãæ°ã®ç®¡ç */
+/* 割込みネスト数の管理 */
 uint8_t intnest;
 
 /*
- *  ã³ã¢ä¾å­ã®åæå
+ *  コア依存の初期化
  */
 void
 core_initialize(void)
 {
-    /* å²è¾¼ã¿ãã¹ãæ°ã®åæå */
+    /* 割込みネスト数の初期化 */
     intnest = 0u;
 }
 
 /*
- *  ã³ã¢ä¾å­ã®çµäºå¦ç
+ *  コア依存の終了処理
  */
 void
@@ -87,5 +72,5 @@
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+ *  割込みハンドラの呼び出し
  */
 void
@@ -96,5 +81,5 @@
     i_unlock_cpu();
 
-    // ãã³ãã©ã®å¼ã³åºã
+    // ハンドラの呼び出し
     inh_table[intno]();
 
@@ -105,5 +90,5 @@
 
 /*
- *  ã«ã¼ãã«ç®¡çã®CPUä¾å¤ãã³ãã©ã®å¼ã³åºã
+ *  カーネル管理のCPU例外ハンドラの呼び出し
  */
 void
@@ -115,7 +100,5 @@
 
     /*
-     *  ãã­ã»ããµã®ç¶æ
-ãCPUä¾å¤çºçåã®ç¶æ
-ã«ãã
+     *  プロセッサの状態をCPU例外発生前の状態にする
      */
     if((spsr & AARCH64_PSTATE_F) == 0) {
@@ -127,10 +110,9 @@
     }
 
-    // ãã³ãã©ã®å¼ã³åºã
+    // ハンドラの呼び出し
     exc_table[excno](p_excinf);
 
     /*
-     *  ãã­ã»ããµã®ç¶æ
-ãæ»ã
+     *  プロセッサの状態を戻す
      */
     if((spsr & AARCH64_PSTATE_F) == 0) {
@@ -146,9 +128,7 @@
 
 /*
- *  FIQãã³ãã©ã®å¼ã³åºã
- *    å
-¨ã¦ã®ä¾å¤ããã¹ã¯ãããç¶æ
-ã§å¼ã³åºããã
- *    ä¾å¤è¦å ã®å¤å¥ãå«ããã(ãããã¯ããããå¼ã³åºãããã«ã¼ãã³)ã§è¡ã
+ *  FIQハンドラの呼び出し
+ *    全ての例外がマスクされた状態で呼び出される
+ *    例外要因の判別も含めここ(あるいはここから呼び出されるルーチン)で行う
  */
 void
@@ -160,5 +140,5 @@
 #ifndef OMIT_DEFAULT_EXC_HANDLER
 /*
- *  ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ *  登録されていない例外が発生すると呼び出される
  */
 void
@@ -187,5 +167,5 @@
 #ifndef OMIT_DEFAULT_INT_HANDLER
 /*
- *  æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ *  未登録の割込みが発生した場合に呼び出される
  */
 void
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_config.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,9 +41,9 @@
 
 /*
- *    ã³ã¢ä¾å­ã¢ã¸ã¥ã¼ã«ï¼ARMv8-Aç¨ï¼
+ *    コア依存モジュール（ARMv8-A用）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_config.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
- *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
- *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，target_config.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -67,10 +52,10 @@
 
 /*
- *  ãã¼ãã¦ã§ã¢å®ç¾©
+ *  ハードウェア定義
  */
 #include "arm64.h"
 
 /*
- *  éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯åæå¤
+ *  非タスクコンテキスト用のスタック初期値
  */
 #define TOPPERS_ISTKPT(istk, istksz) ((STK_T *)((char *)(istk) + (istksz)))
@@ -79,11 +64,10 @@
 
 /*
- *  å²è¾¼ã¿ãã¹ãæ°
+ *  割込みネスト数
  */
 extern uint8_t intnest;
 
 /*
- *  ã³ã³ãã­ã¹ãã®åç
-§
+ *  コンテキストの参照
  *
  */
@@ -104,34 +88,26 @@
 
 /*
- *  ãã£ã¹ãããã£ã®åä½éå§ï¼core_support.Sï¼
+ *  ディスパッチャの動作開始（core_support.S）
  *
- *  start_dispatchã¯ï¼ã«ã¼ãã«èµ·åæã«å¼ã³åºãã¹ããã®ã§ï¼ãã¹ã¦ã®å²è¾¼
- *  ã¿ãç¦æ­¢ããç¶æ
-ï¼å²è¾¼ã¿ã­ãã¯ç¶æ
-ã¨åç­ã®ç¶æ
-ï¼ã§å¼ã³åºããªããã°
- *  ãªããªãï¼
+ *  start_dispatchは，カーネル起動時に呼び出すべきもので，すべての割込
+ *  みを禁止した状態（割込みロック状態と同等の状態）で呼び出さなければ
+ *  ならない．
  */
 extern void start_dispatch(void) NoReturn;
 
 /*
- *  ã«ã¼ãã«ã®çµäºå¦çã®å¼åºãï¼prc_support.Sï¼
+ *  カーネルの終了処理の呼出し（prc_support.S）
  *
- *  call_exit_kernelã¯ï¼ã«ã¼ãã«ã®çµäºæã«å¼ã³åºãã¹ããã®ã§ï¼éã¿ã¹ã¯
- *  ã³ã³ãã­ã¹ãã«åãæãã¦ï¼ã«ã¼ãã«ã®çµäºå¦çï¼exit_kernelï¼ãå¼ã³åº
- *  ãï¼
+ *  call_exit_kernelは，カーネルの終了時に呼び出すべきもので，非タスク
+ *  コンテキストに切り換えて，カーネルの終了処理（exit_kernel）を呼び出
+ *  す．
  */
 extern void call_exit_kernel(void) NoReturn;
 
 /*
- *  ã¢ã¤ãã«ã«ã¼ãã®å®è£
-
+ *  アイドルループの実装
  *
- *  åã«CPUã­ãã¯ç¶æ
-ã¨CPUã­ãã¯è§£é¤ç¶æ
-ãå¼ã³åºãå®è£
-ã¨ããï¼
- *  ã¹ãªã¼ãã¢ã¼ãã«å
-¥ããå ´åã¯æ¬å¦çãwfiå½ä»¤ãç¨ãã¦æ¸ãæããã°è¯ãï¼
+ *  単にCPUロック状態とCPUロック解除状態を呼び出す実装とする．
+ *  スリープモードに入れる場合は本処理をwfi命令を用いて書き換えれば良い．
  */
 Inline void
@@ -139,44 +115,42 @@
 {
     x_unlock_cpu();
-    /* CPUã¢ã³ã­ãã¯ => CPUã­ãã¯  */
+    /* CPUアンロック => CPUロック  */
     x_lock_cpu();
 }
 
 /*
- *  ã³ã¢ä¾å­ã®åæå
+ *  コア依存の初期化
  */
 extern void core_initialize(void);
 
 /*
- *  ã³ã¢ä¾å­ã®çµäºæå¦ç
+ *  コア依存の終了時処理
  */
 extern void core_terminate(void) NoReturn;
 
 /*
- *  å²è¾¼ã¿ãã³ãã©ã®å¼ã³åºã
+ *  割込みハンドラの呼び出し
  */
 extern void call_int_handler(uint32_t intno);
 
 /*
- *  CPUä¾å¤ãã³ãã©ã®å¼ã³åºã
+ *  CPU例外ハンドラの呼び出し
  */
 extern void call_exc_handler(void *p_excinf, uint32_t excno);
 
 /*
- *  FIQãã³ãã©ã®å¼ã³åºã
- *    å
-¨ã¦ã®ä¾å¤ããã¹ã¯ãããç¶æ
-ã§å¼ã³åºããã
- *    ä¾å¤è¦å ã®å¤å¥ãå«ããã(ãããã¯ããããå¼ã³åºãããã«ã¼ãã³)ã§è¡ã
+ *  FIQハンドラの呼び出し
+ *    全ての例外がマスクされた状態で呼び出される
+ *    例外要因の判別も含めここ(あるいはここから呼び出されるルーチン)で行う
  */
 extern void call_fiq_handler(void);
 
 /*
- * ç»é²ããã¦ããªãä¾å¤ãçºçããã¨å¼ã³åºããã
+ * 登録されていない例外が発生すると呼び出される
  */
 extern void default_exc_handler(void *p_excinf);
 
 /*
- * æªç»é²ã®å²è¾¼ã¿ãçºçããå ´åã«å¼ã³åºããã
+ * 未登録の割込みが発生した場合に呼び出される
  */
 extern void default_int_handler(void);
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_design.txt
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_design.txt	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_design.txt	(revision 386)
@@ -1,147 +1,113 @@
 =====================================================================
-                         ARM64ãã­ã»ããµä¾å­é¨è¨­è¨ã¡ã¢
+                         ARM64プロセッサ依存部設計メモ
                                   Last Modified: 16 Apr 2019
 =====================================================================
 
-â ãã®ãã­ã¥ã¡ã³ãã®ä½ç½®ã¥ã
-
-ãã®ãã­ã¥ã¡ã³ãã¯ï¼TOPPERS/SSPã«ã¼ãã«ãARMv8-Aãã­ã»ããµã«ç§»æ¤ããé
-ã®è¨­è¨ã¡ã¢ã§ããï¼
-
-
-â ARMv8-Aã®ä»æ§ã¾ã¨ã
-
-ARMv8-Aã®ä»æ§ã®ãã¡ï¼ã«ã¼ãã«ã®è¨­è¨ã«é¢ä¿ããäºé 
-ã«ã¤ãã¦ã¾ã¨ããï¼
-
-â ã¬ã¸ã¹ã¿
-
-æ±ç¨ã¬ã¸ã¹ã¿ã¯r0ãr30 (ç¹ã«64ãããã¬ã¸ã¹ã¿ã¯X0..X30ã§è¡¨ç¾)ã®31ç¨®é¡ãããªãï¼
-ï¼åèï¼ãProcedure Call Standard for the ARM 64-bit Architectureã
-
-r0...r7    Parameter/result registers(å¼æ°ããã³è¿å¤ã®åãæ¸¡ãç¨)
-r8         Indirect result location register (å¤§ããªãã¼ã¿æ§é ã
-           è¿å¤ã¨ãã¦è¿ãå ´åãªã©ï¼å¼ã³åºãå´ãçµæãåãåºãããã«
-           éæ¥ã¢ãã¬ãã·ã³ã°ãå¤ç¨ããéï¼ãã®ãã¼ã¹ã¢ãã¬ã¹ãåãæ¸¡ã
-           ããããã«ä½¿ããã)
-r9..r15    Caller-saved Temporary registers(å¼ã³åºãå´ã§ä¿å­ãã¹ãã¬ã¸ã¹ã¿)
+○ このドキュメントの位置づけ
+
+このドキュメントは，TOPPERS/SSPカーネルをARMv8-Aプロセッサに移植する際
+の設計メモである．
+
+
+○ ARMv8-Aの仕様まとめ
+
+ARMv8-Aの仕様のうち，カーネルの設計に関係する事項についてまとめる．
+
+● レジスタ
+
+汎用レジスタはr0〜r30 (特に64ビットレジスタはX0..X30で表現)の31種類からなる．
+（参考）「Procedure Call Standard for the ARM 64-bit Architecture」
+
+r0...r7    Parameter/result registers(引数および返値の受け渡し用)
+r8         Indirect result location register (大きなデータ構造を
+           返値として返す場合など，呼び出し側が結果を取り出すために
+           間接アドレッシングを多用する際，そのベースアドレスを受け渡し
+           するために使われる)
+r9..r15    Caller-saved Temporary registers(呼び出し側で保存すべきレジスタ)
 r16(IP0)   The first intra-procedure-call scratch register
-           ãªã³ã«ã«ãã£ã¦ veneer(æ³¨1) ããã³ PLT(Procedure Linkage Table,æ³¨2) ã³ã¼ã
-           ã®å¼ã³åºãã§ä½¿ãããï¼ããä»¥å¤ã®æã¯ãã³ãã©ãªã¬ã¸ã¹ã¿ã¨ãã¦ä½¿ããããã¨ãããï¼
-           (æ³¨1)ãªã³ã«ã«ãã£ã¦æ¿å
-¥ãããå°ããªã³ã¼ãçã§ï¼
-                åå²å½ä»¤ã®ã¿ã¼ã²ãããç¯å²å¤ã®å ´åãªã©ã«ä½¿ããã
-           (æ³¨2)å
-±æã©ã¤ãã©ãªã®å¼ã³åºãã§ã·ã³ãã«è§£æ±ºãè¡ãããã«ä½¿ç¨ããã
-                é¢æ°ãã¼ãã«
-r17(IP1)   The second intra-procedure-call temporary register(r16ã¨å½¹å²ã¯åã)
-r18        The Platform Register(ãã©ãããã©ã¼ã ABIã§ä½¿ç¨ãããã¬ã¸ã¹ã¿ï¼
-           ABIã§ä½¿ãããªãå ´åã¯ãã³ãã©ãªã¬ã¸ã¹ã¿ã¨ãã¦ä½¿ããã)
-r19..r28   Callee-saved registers(å¼ã³åºãããå´ã§ä¿å­ãã¦ä½¿ãã¬ã¸ã¹ã¿)
-r29(FP)    The Frame Pointer(ãã¬ã¼ã ãã¤ã³ã¿)
-r30(LR)    The Link Register(ãªã³ã¯ã¬ã¸ã¹ã¿)
-
-SSPã«ã¼ãã«ã®ã¢ã»ã³ãã©ã«ããå®è£
-ã§ã¯r8, r16...r18ã¯ä½¿ç¨ãã¦ããªãï¼
-
-
-â ã³ã¼ãªã³ã°ã³ã³ãã³ã·ã§ã³
-
-r0...r7 ãå¼æ°ããã³è¿å¤ã«ä½¿ãããï¼
-ARMã«ããè¦å®ããã¦ããããï¼ã³ã³ãã¤ã©ã«ä¾å­ãããã®ã«ã¼ã«ã¨ãªã
-
-
-â PSTATE
-
-AArch64ã§ã¯ãã­ã»ããµã®ç¶æ
-ãè¡¨ããã©ã°ã®éã¾ããã¾ã¨ãã¦PSTATEã¨å¼ã³ï¼
-ããããã®ãã©ã°ã¸å¥ã
-ã«ã¢ã¯ã»ã¹ããããã®ç¹å¥ãªã¬ã¸ã¹ã¿åãå®ç¾©ããã¦ããï¼
-
-PSTATEã®è©³ç´°ã¯ï¼ARM Architecture Reference Manual
-ARMv8, for ARMv8-A architecture profile ã® D1.7 ãªã©ãåç
-§ã®ãã¨ï¼
-
-ã»spsel
-EL1ããä¸ã®ä¾å¤ã¬ãã«ã§ã¯ï¼spsel ã¨ããç¹å¥ãªåç§°ã®ã¬ã¸ã¹ã¿ã«ã¢ã¯ã»ã¹ãï¼
-PSTATE.SPãã©ã°ã®å¤ãã»ãããã¦ä½¿ç¨ã¹ã¿ãã¯ã®åãæ¿ããè¡ãï¼
-
-ã»daif
-daif ã¨ããåç§°ã®ã¬ã¸ã¹ã¿ãä½¿ç¨ãã¦PSTATEã®D,A,I,Fããããæä½ãï¼
-åç¨®ä¾å¤ããã³å²è¾¼ã¿ã®ç¦æ­¢/è¨±å¯ãå¶å¾¡ãã
-
-
-SSPã«ã¼ãã«ã®å®è£
-ã§ã¯ï¼ã¹ã¿ãã¯ã¯SP_EL1ã®ã¿ãä½¿ç¨ããï¼
-ã¾ãï¼CPUã­ãã¯ç¶æ
-ããã³å²è¾¼ã¿ã­ãã¯ç¶æ
-ã®å®è£
-ã«PSTATEã®Iããã³Fãã©ã°ã
-å©ç¨ãã¦ããï¼
-
-
-â å²è¾¼ã¿ãã¯ã¿
-
-ãã¯ã¿ãã¼ãã«ã®ã¢ãã¬ã¹ã¯ãªã»ããæã«ï¼ã·ã¹ãã ã¬ã¸ã¹ã¿ã®ä¸ã¤Vector Base
-Address Register(VBAR, ã·ã¹ãã ã¬ã¸ã¹ã¿)ã«ã¢ãã¬ã¹ãã»ãããããã¨ã§ï¼
-2048ãã¤ãå¢çã®ä»»æã®ã¢ãã¬ã¹ã«é
-ç½®å¯è½ã§ããï¼
-
-SSPã«ã¼ãã«ã®å®è£
-ã§ã¯ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§è¨­å®ãã¦ããï¼
-
-
-â å²è¾¼ã¿
-
-ããã§ã¯GICãæ­è¼ãããã­ã»ããµã®å ´åã«ã¤ãã¦è¿°ã¹ãï¼
-ããä»¥å¤ã®å ´åã«ã¤ãã¦ã¯ãããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
-
-
-âå²è¾¼ã¿åªå
-åº¦
-
-GICã«ããã¦ã¯å²è¾¼ã¿åªå
-åº¦ã¯è¨­å®å¤ã®å°ããæ¹ãé«åªå
-åº¦ã¨ãªãï¼
-
-åªå
-åº¦ã¯æå¤§8bitã§ããï¼SoCæ¯ã«å®è£
-ããã¦ãããããå¹
-ãç°ãªãï¼å®è£
-ã
-ãããããã8bitä»¥ä¸ã®å ´åã¯ï¼LSBããç¡å¹ã«ãªãï¼ä¾ãã°ï¼å®è£
-ããã¦ã
-ããããå¹
-ã7bitã®å ´åã¯ï¼ããã0ãç¡å¹ã¨ãªãï¼
-
-åªå
-åº¦ã®ããããã£ã¼ã«ãã®LSBããæ°ãããããµãåªå
-åº¦ã¨å¼ã¶ãã£ã¼ã«ã
-ã«è¨­å®ãããã¨ãå¯è½ã§ããï¼æ®ãã®ä¸ä½ããããããªã¨ã³ãã·ã§ã³åªå
-åº¦ã¨
-å¼ã¶ï¼ããªã¨ã³ãã·ã§ã³åªå
-åº¦ãåãã§ï¼ãµãåªå
-åº¦ãç°ãªãåªå
-åº¦ã®ã°ã«ã¼
-ãã¯ï¼ãäºããããªã¨ã³ãããããã¨ãã§ããªãï¼
-
-ä¾ã¨ãã¦ï¼QEMU Virtãã¼ãåãSSPã®å®è£
-ã§ã¯ Cortex-A53ãã­ã»ããµã
-ã¿ã¼ã²ããã¨ãã¦ããï¼åªå
-åº¦ã¯16æ®µé(4bit)ã§ããã0ãã3ãç¡å¹ã§ããï¼
-
-âå²è¾¼ã¿/ä¾å¤ã®åä»
-
-GICã®å ´åï¼å²è¾¼ã¿ãåãä»ããã¨åãä»ããå²è¾¼ã¿ã®çªå·ãGICC_IARã«ã»ãããããï¼
-å²è¾¼ã¿çªå·ã¯ãã®ã¬ã¸ã¹ã¿ã«ã»ãããããå¤ãä½¿ç¨ããï¼
-
-ä¾å¤çªå·ã¯ï¼ä¾å¤çºçæã®ãã­ã»ããµç¶æ
-ã«å¿ãã¦æ±ºå®ãããï¼ãã¯ã¿ãã¼ãã«ä¸­ã®
-ã¸ã£ã³ãå
-ãªãã»ããæ¯ã«ç°ãªãçªå·ãå²ãæ¯ããã¨ã«ãã¦ããï¼
-
-  ä¾å¤çºçæã®ç¶æ
-             ä¾å¤ã®ç¨®é¡      ä¾å¤çªå· ãä¾å¤ãã¯ã¿å
-é ­ããã®ãªãã»ãã
+           リンカによって veneer(注1) および PLT(Procedure Linkage Table,注2) コード
+           の呼び出しで使われる．それ以外の時はテンポラリレジスタとして使われることもある．
+           (注1)リンカによって挿入される小さなコード片で，
+                分岐命令のターゲットが範囲外の場合などに使われる
+           (注2)共有ライブラリの呼び出しでシンボル解決を行うために使用される
+                関数テーブル
+r17(IP1)   The second intra-procedure-call temporary register(r16と役割は同じ)
+r18        The Platform Register(プラットフォームABIで使用されるレジスタ．
+           ABIで使われない場合はテンポラリレジスタとして使われる)
+r19..r28   Callee-saved registers(呼び出された側で保存して使うレジスタ)
+r29(FP)    The Frame Pointer(フレームポインタ)
+r30(LR)    The Link Register(リンクレジスタ)
+
+SSPカーネルのアセンブラによる実装ではr8, r16...r18は使用していない．
+
+
+● コーリングコンベンション
+
+r0...r7 が引数および返値に使われる．
+ARMにより規定されているため，コンパイラに依存せずこのルールとなる
+
+
+● PSTATE
+
+AArch64ではプロセッサの状態を表すフラグの集まりをまとめてPSTATEと呼び，
+それぞれのフラグへ別々にアクセスするための特別なレジスタ名が定義されている．
+
+PSTATEの詳細は，ARM Architecture Reference Manual
+ARMv8, for ARMv8-A architecture profile の D1.7 などを参照のこと．
+
+・spsel
+EL1より上の例外レベルでは，spsel という特別な名称のレジスタにアクセスし，
+PSTATE.SPフラグの値をセットして使用スタックの切り替えを行う．
+
+・daif
+daif という名称のレジスタを使用してPSTATEのD,A,I,Fビットを操作し，
+各種例外および割込みの禁止/許可を制御する
+
+
+SSPカーネルの実装では，スタックはSP_EL1のみを使用する．
+また，CPUロック状態および割込みロック状態の実装にPSTATEのIおよびFフラグを
+利用している．
+
+
+● 割込みベクタ
+
+ベクタテーブルのアドレスはリセット時に，システムレジスタの一つVector Base
+Address Register(VBAR, システムレジスタ)にアドレスをセットすることで，
+2048バイト境界の任意のアドレスに配置可能である．
+
+SSPカーネルの実装ではスタートアップルーチンで設定している．
+
+
+● 割込み
+
+ここではGICを搭載するプロセッサの場合について述べる．
+それ以外の場合についてはチップ依存部のドキュメントに記載する．
+
+
+●割込み優先度
+
+GICにおいては割込み優先度は設定値の小さい方が高優先度となる．
+
+優先度は最大8bitであり，SoC毎に実装されているビット幅が異なる．実装さ
+れるビットが8bit以下の場合は，LSBから無効になる．例えば，実装されてい
+るビット幅が7bitの場合は，ビット0が無効となる．
+
+優先度のビットフィールドのLSBから数ビットをサブ優先度と呼ぶフィールド
+に設定することが可能である．残りの上位ビットをプリエンプション優先度と
+呼ぶ．プリエンプション優先度が同じで，サブ優先度が異なる優先度のグルー
+プは，お互いをプリエンプトすることができない．
+
+例として，QEMU Virtボード向けSSPの実装では Cortex-A53プロセッサを
+ターゲットとしており，優先度は16段階(4bit)でビット0から3が無効である．
+
+●割込み/例外の受付
+
+GICの場合，割込みを受け付けると受け付けた割込みの番号がGICC_IARにセットされる．
+割込み番号はこのレジスタにセットされる値を使用する．
+
+例外番号は，例外発生時のプロセッサ状態に応じて決定される，ベクタテーブル中の
+ジャンプ先オフセット毎に異なる番号を割り振ることにしている．
+
+  例外発生時の状態             例外の種類      例外番号 　例外ベクタ先頭からのオフセット
   AArch64, EL1t(EL1, SP_EL0)  Synchronous         0        0x0000
   AArch64, EL1t(EL1, SP_EL0)  SError              1        0x0180
@@ -153,101 +119,84 @@
   AArch32, EL0 (EL0, SP_EL0)  SError              7        0x0780
 
-å²è¾¼ã¿ãåãä»ããéï¼åãä»ããå²è¾¼ã¿ã«è¨­å®ãããåªå
-åº¦ããä½ãå²è¾¼ã¿ã
-ç¦æ­¢ããããï¼GICC_RPRããåå¾ããå²è¾¼ã¿è¦å ã®å²è¾¼ã¿åªå
-åº¦ã GICC_PMRã¸
-ã»ãããã¦ããï¼ããã¦ãã³ãã©çµäºå¾ã«å²è¾¼ã¿çºçåã®å²ãè¾¼ã¿åªå
-åº¦ã«æ»ãï¼
-
-
-[CPUã¢ã¼ã]
-
-ãã­ã»ããµã¯ï¼EL0ããEL3ã¾ã§ã®ä¾å¤ã¬ãã«ã®ããããã§åä½ããï¼
-ã¾ãããããã®ã¬ãã«ã§64ãããã¢ã¼ã(AArch64) ã¾ãã¯32ãããã¢ã¼ã(AArch32)ã
-é¸æãããã¨ãã§ããï¼ãã ãï¼ããä¾å¤ã¬ãã«ã32ãããã¢ã¼ãã§åä½ããå ´åã¯
-ããããä½ãä¾å¤ã¬ãã«ã§ã¯64ãããã¢ã¼ããé¸æãããã¨ãã§ããªãï¼
-
-ã¾ãï¼ã»ã­ã¥ãªãã£æ¡å¼µæ©è½ãæ­è¼ãããã­ã»ããµã§ã¯ã»ã­ã¥ã¢ã¢ã¼ãããã³
-éã»ã­ã¥ã¢ã¢ã¼ããé¸æãããã¨ãã§ããï¼
-
-SSPã®å®è£
-ã§ã¯ï¼64ãããã¢ã¼ã(AArch64)ï¼éã»ã­ã¥ã¢ï¼ä¾å¤ã¬ãã«1(EL1) ã§åä½ããï¼
-
-
-âãªã»ããæã®ç¶æ
-
-
-ãªã»ããæã¯ãã­ã»ããµãããããµãã¼ãããæå¤§ã®ä¾å¤ã¬ãã«ããã³ãã®ã¬ãã«ã®
-ã¹ã¿ãã¯(SP_ELx)ãæå¹ã¨ãªã£ã¦ããï¼
-
-ä¾ã¨ãã¦QEMUåãVirtãã¼ã(Cortex-A53) ã§ã¯ï¼æ¢å®ã§EL1ãæå¤§ä¾å¤ã¬ãã«ã®ãã
-ãªã»ããç´å¾ã¯SP_EL1ãæå¹ã¨ãªã£ã¦ããï¼
-
-
-â ã¹ã¿ãã¯ãã¤ã³ã¿ï¼SP_EL0ã¨SP_ELxï¼
-
-ã¹ã¿ãã¯ãã¤ã³ã¿ã¯ï¼ä¾å¤ã¬ãã«0ã®ã¹ã¿ãã¯ãã¤ã³ã¿(SP_EL0)ããã³å®è¡ä¸­ã®
-ä¾å¤ã¬ãã«ã®ã¹ã¿ãã¯ãã¤ã³ã¿(SP_ELx)ãé¸æå¯è½ã§ããï¼
-ã¹ã¿ãã¯ã®é¸æã¯spselã¬ã¸ã¹ã¿ã¸1ãè¨­å®ããã¨SP_ELxãï¼0ãè¨­å®ããã¨
-SP_EL0 ãé¸æããï¼
-
-SSPã®å®è£
-ã§ã¯ï¼EL1 ã§ SP_EL1 ã®ã¿ãä½¿ç¨ãã¦åä½ããï¼
-
-
-âä¾å¤ã¬ãã«ã®é·ç§»
-
-ä¾å¤ã¬ãã«(EL)ã®é·ç§»ã¯å²è¾¼ã¿/ä¾å¤ã®åä»ããã³ä¾å¤ãªã¿ã¼ã³å½ä»¤(eret)ã«ããè¡ãï¼
-
-å²è¾¼ã¿ããã³ä¾å¤ãåãä»ãããã¨ã§çºçåã¨åãã¾ãã¯ããé«ãä¾å¤ã¬ãã«ã¸é·ç§»ããï¼
-ä¸æ¹ï¼åãã¾ãã¯ããä½ãä¾å¤ã¬ãã«ã¸ã®é·ç§»ã¯ä¾å¤ãªã¿ã¼ã³å½ä»¤(eret)ã«ããè¡ãï¼
-
-åä»æã®é·ç§»å
-ã¨ãªãä¾å¤ã¬ãã«ã®æå®ã¯ã·ã¹ãã ã¬ã¸ã¹ã¿ã«ããè¨­å®ãããã¨ã§è¡ãï¼
-å²è¾¼ã¿/ä¾å¤ãªã¿ã¼ã³æã®é·ç§»å
-ã¨ãªãä¾å¤ã¬ãã«ã¯ï¼SPSR_ELxã®ããã2ããã³3ã§
-æå®ããï¼å²è¾¼ã¿/ä¾å¤åä»æï¼PSTATEã®ç¶æ
-ãSPSR_ELxã«ï¼ãªã¿ã¼ã³ã¢ãã¬ã¹ãELR_ELxã«ï¼
-ããããä¿å­ããeretå½ä»¤ã®å®è¡ã«ãããã®æ ¼ç´å¤ãå¾©å¸°ãããããï¼eretå®è¡åã«
-ãããããSPSR_ELxã«ã»ãããã¦ãããã¨ã§æå®ããä¾å¤ã¬ãã«ã¸é·ç§»ãããã¨ãå¯è½ã§ããï¼
-åãã¿ã¤ãã³ã°ã§ä½¿ç¨ã¹ã¿ãã¯ã64ããã/32ãããã¢ã¼ãã®æå®ãè¡ããã¨ãã§ããï¼
-
-QEMU VirtåãSSPã®å®è£
-ã§ã¯EL1ã®ã¿ãä½¿ç¨ããããï¼ä¾å¤ã¬ãã«éã®é·ç§»å¦çã¯è¡ã£ã¦ããªãï¼
-
-
-âä¾å¤ã¬ãã«ã®å¤å®
-
-ç¾ç¶ã®ä¾å¤ã¬ãã«ãå¤å®ããã«ã¯ï¼CPSRã®ããã2ããã³ããã3ã®å¤ãä½¿ç¨ããï¼
-bit[3:2]ã®å¤ã
-    '11'ã®å ´åï¼EL3
-    '10'ã®å ´åï¼EL2
-    '01'ã®å ´åï¼EL1
-    '00'ã®å ´åï¼EL0
-
-âGICC_PMRã¬ã¸ã¹ã¿
-
-è¨­å®ããåªå
-åº¦ä»¥ä¸(å¤ã¨ãã¦ã¯ä»¥ä¸)ã®åªå
-åº¦ã®å²è¾¼ã¿ã®åä»ãç¦æ­¢ããï¼
-è¨­å®å¯è½ãªæå¤§å¤ãè¨­å®ããã¨ï¼å
-¨ã¦ã®å²è¾¼ã¿ãè¨±å¯ããï¼
-ä¾ãã°åªå
-åº¦ã16æ®µéã®å ´åã¯0xf0(=0x0f << 4)ãã»ããããã¨ãã¹ã¦ã®å²è¾¼ã¿è¨±å¯
-ã¨ãªãï¼å¤ã¯ä¾å¤/å²è¾¼ã¿ã®åä»ã¨ãªã¿ã¼ã³ã«ããå¤åããªãããï¼åãä»ããå²è¾¼ã¿
-ã®åªå
-åº¦ãå²è¾¼ã¿ã®å
-¥å£å¦çã§è¨­å®ããå¿
-è¦ãããï¼
-
-âä¾å¤/å²è¾¼ã¿ã®åä»
-
-ã»ä¾å¤/å²è¾¼ã¿ãåä»ããã¨ï¼åä»ãæã«ã¢ã¯ãã£ããªã¹ã¿ãã¯ä¸ã«ä»¥ä¸ã®ã³
-  ã³ãã­ã¹ããä¿å­ããï¼
+割込みを受け付けた際，受け付けた割込みに設定された優先度より低い割込みを
+禁止するため，GICC_RPRから取得した割込み要因の割込み優先度を GICC_PMRへ
+セットしている．そしてハンドラ終了後に割込み発生前の割り込み優先度に戻す．
+
+
+[CPUモード]
+
+プロセッサは，EL0からEL3までの例外レベルのいずれかで動作する．
+またそれぞれのレベルで64ビットモード(AArch64) または32ビットモード(AArch32)を
+選択することができる．ただし，ある例外レベルが32ビットモードで動作する場合は
+それより低い例外レベルでは64ビットモードを選択することができない．
+
+また，セキュリティ拡張機能を搭載するプロセッサではセキュアモードおよび
+非セキュアモードを選択することができる．
+
+SSPの実装では，64ビットモード(AArch64)，非セキュア，例外レベル1(EL1) で動作する．
+
+
+●リセット時の状態
+
+リセット時はプロセッサチップがサポートする最大の例外レベルおよびそのレベルの
+スタック(SP_ELx)が有効となっている．
+
+例としてQEMU向けVirtボード(Cortex-A53) では，既定でEL1が最大例外レベルのため
+リセット直後はSP_EL1が有効となっている．
+
+
+● スタックポインタ（SP_EL0とSP_ELx）
+
+スタックポインタは，例外レベル0のスタックポインタ(SP_EL0)および実行中の
+例外レベルのスタックポインタ(SP_ELx)が選択可能である．
+スタックの選択はspselレジスタへ1を設定するとSP_ELxを，0を設定すると
+SP_EL0 を選択する．
+
+SSPの実装では，EL1 で SP_EL1 のみを使用して動作する．
+
+
+●例外レベルの遷移
+
+例外レベル(EL)の遷移は割込み/例外の受付および例外リターン命令(eret)により行う．
+
+割込みおよび例外を受け付けることで発生前と同じまたはより高い例外レベルへ遷移する．
+一方，同じまたはより低い例外レベルへの遷移は例外リターン命令(eret)により行う．
+
+受付時の遷移先となる例外レベルの指定はシステムレジスタにより設定することで行う．
+割込み/例外リターン時の遷移先となる例外レベルは，SPSR_ELxのビット2および3で
+指定する．割込み/例外受付時，PSTATEの状態がSPSR_ELxに，リターンアドレスがELR_ELxに，
+それぞれ保存されeret命令の実行によりその格納値が復帰されるため，eret実行前に
+あらかじめSPSR_ELxにセットしておくことで指定した例外レベルへ遷移することが可能である．
+同じタイミングで使用スタックや64ビット/32ビットモードの指定も行うことができる．
+
+QEMU Virt向けSSPの実装ではEL1のみを使用するため，例外レベル間の遷移処理は行っていない．
+
+
+●例外レベルの判定
+
+現状の例外レベルを判定するには，CPSRのビット2およびビット3の値を使用する．
+bit[3:2]の値が
+    '11'の場合：EL3
+    '10'の場合：EL2
+    '01'の場合：EL1
+    '00'の場合：EL0
+
+●GICC_PMRレジスタ
+
+設定した優先度以下(値としては以上)の優先度の割込みの受付を禁止する．
+設定可能な最大値を設定すると，全ての割込みを許可する．
+例えば優先度が16段階の場合は0xf0(=0x0f << 4)をセットするとすべての割込み許可
+となる．値は例外/割込みの受付とリターンにより変化しないため，受け付けた割込み
+の優先度を割込みの入口処理で設定する必要がある．
+
+●例外/割込みの受付
+
+・例外/割込みを受付けると，受付け時にアクティブなスタック上に以下のコ
+  ンテキストを保存する．
 
    ---------------    <- new SP
   |   GICC_PMR     |
    ----------------
-  | å²è¾¼ã¿/ä¾å¤çªå·|
+  | 割込み/例外番号|
    ----------------
   |    ESR_ELx     |
@@ -261,6 +210,6 @@
   |      X29       |
    ----------------
-  |      ï¼        |
-  |      ï¼        |
+  |      ：        |
+  |      ：        |
    ----------------
   |      X1        |
@@ -271,160 +220,107 @@
 
 
-å²è¾¼ã¿/ä¾å¤çºçæã®ä¸»ãªã·ã¼ã±ã³ã¹ã¯æ¬¡ã®ããã«ãªãï¼é·ç§»å
-ã®ä¾å¤ã¬ãã«ãELxã¨è¡¨ç¾ããï¼
-
-ï¼ãã¼ãã¦ã§ã¢ã®å¦çï¼
-  ã»PSTATEãSPSR_ELxã«ä¿å­ãã
-  ã»ãªã¿ã¼ã³ã¢ãã¬ã¹ãELR_ELxã«ä¿å­ãã
-  ã»PSTATE.{D,A,I,F}ã1ã«ã»ãããã
-  ã»åæä¾å¤ããã³SErrorå²è¾¼ã¿ã®ã¨ãï¼ä¾å¤è¦å æ
-å ±ãESR_ELxã«ä¿å­ãã
-  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ãSP_ELxã«åãæ¿ãã
-  ã»ELxã¸é·ç§»ãã
-
-ï¼ã½ããã¦ã§ã¢ã§ã®å¦çï¼
-  ã»(çºçæã«SP_EL0ãä½¿ç¨ãã¦ããå ´å)ã¹ã¿ãã¯ãå²è¾¼ã¿çºçå(SP_EL0)ã«æ»ã
-  ã»æ±ç¨ã¬ã¸ã¹ã¿(X0-X30)ãã¹ã¿ãã¯ã«ä¿å­
-  ã»SPSR_ELx, ESR_ELx, ELR_ELxãã¹ã¿ãã¯ã«ä¿å­
-  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ã®ã¢ã©ã¤ã¡ã³ããèª¿æ´
-  ã»å²è¾¼ã¿çªå·(GICC_IARããåå¾)ï¼ä¾å¤çªå·(ãªãã»ããæ¯ã«å®ç¾©ããå¤)ãã¹ã¿ãã¯ã«ä¿å­
-  ã»å²è¾¼ã¿çºçåã®å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ãã¹ã¿ãã¯ã«ä¿å­
-  ã»GICC_PMRã«åãä»ããå²è¾¼ã¿ã®å²è¾¼ã¿åªå
-åº¦ãã»ãã
-  ã»å²è¾¼ã¿/ä¾å¤ãã¹ãã«ã¦ã³ã¿ã®ã¤ã³ã¯ãªã¡ã³ã
-  ã»(å²è¾¼ã¿ã®å ´å)CPUã­ãã¯è§£é¤
-  ã»ãã¯ã¿ãã¼ãã«ãèª­ã¿è¾¼ã¿ãã³ãã©ãå®è¡ãã
-
-âä¾å¤/å²è¾¼ã¿ããã®ãªã¿ã¼ã³
-
-ï¼ã½ããã¦ã§ã¢ã§ã®å¦çï¼
-  ã»CPUã­ãã¯ç¶æ
-ã¸ç§»è¡
-  ã»å²è¾¼ã¿/ä¾å¤ãã¹ã¨ã«ã¦ã³ã¿ã®ãã¯ãªã¡ã³ã
-  ã»GICC_PMRã«å²è¾¼ã¿çºçåã®åªå
-åº¦ãã¹ã¯ãæ»ã
-  ã»ã¹ã¿ãã¯ãã¤ã³ã¿ã®ã¢ã©ã¤ã¡ã³ãèª¿æ´åãæ»ã
-  ã»æ»ãå
-ã®ã³ã³ãã­ã¹ããã·ã¹ãã ç¶æ
-ã«å¿ãã¦å²è¾¼ã¿/ä¾å¤çºçå
-ã¸ãªã¿ã¼ã³
-    ã¾ãã¯é
-å»¶ãã£ã¹ããããå®è¡ãã
-  ã»ELR_ELxã«æ»ãå
-ã¢ãã¬ã¹ï¼SPSR_ELxã«ãã­ã»ããµç¶æ
-ããããã
-    ã»ããããã¦ããç¶æ
-ã§eretå½ä»¤ãå®è¡ãï¼å²è¾¼ã¿/ä¾å¤ãããªã¿ã¼ã³
-
-
-âOSã®å®è£
-
-
-1.ã³ã¢ä¾å­é¨åç§°: arm64
-
-ARMv8 ã§ã¯ï¼64ãããã¢ã¼ã(AArch64)ããã³32ãããã¢ã¼ã(AArch32)ã®ä¸¡æ¹ããµãã¼ãããã
-æ¬å®è£
-ã¯64ãããã¢ã¼ãã®ã¿ããµãã¼ããããã¨ãæç¤ºãããããã­ã»ããµä¾å­é¨åç§°ã arm64 ã¨ãã
-
-2. ä¾å¤ã¢ã¼ãã®ä½¿ãåã
-
-æ¬å®è£
-ã§ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãããããä¾å¤ã¬ãã«1(EL1)ã§åä½ããï¼
-ã¿ã¹ã¯ã³ã³ãã­ã¹ããEL0ã§åä½ããæ¡ãèããããï¼ãã®å ´åã¯å²è¾¼ã¿/ä¾å¤ã®åºå£å¦çã«ããã¦
-é
-å»¶ãã£ã¹ãããã®åã«ä¾å¤ã¬ãã«ã®åãæ¿ããå¿
-è¦ã¨ãªãï¼
-
-3.ãã£ã¹ãããã£ã®å®è¡ã¢ã¼ã
-
-æ¬å®è£
-ã§ã¯ãã¹ã¦ä¾å¤ã¬ãã«1ã§åä½ããããï¼ãã£ã¹ãããã£ã¯ä¾å¤ã¬ãã«1(EL1)ã§åä½ããï¼
-
-
-4.ã¹ã¿ãã¯ã®ä½¿ãåã
-
-SSPã§ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼éã¿ã¹ã¯ã³ã³ãã­ã¹ãå
-±ã«ä¸ã¤ã®ã¹ã¿ãã¯ãå
-±ç¨ããï¼
-æ¬å®è£
-ã§ã¯SP_ELxãä½¿ç¨ãã¦ããï¼
-ãã®ä»ã«SP_EL0ãä½¿ç¨ããå®è£
-ãèããããï¼ãã®å ´åã¯å²è¾¼ã¿/ä¾å¤ã®å
-¥å£å¦çã«ã¦
-ã¬ã¸ã¹ã¿ãä¿å­ããåã«SP_EL0ã¸ã®ã¹ã¿ãã¯åãæ¿ããè¡ãï¼
-
-5.ã³ã³ãã­ã¹ãã®å¤å®
-
-å²è¾¼ã¿/ä¾å¤ã®ãã¹ãåæ°ãä¿æããå¤æ°(intnest)ã0ãªãã¿ã¹ã¯ã¿ã¹ã¯ã³ã³ãã­ã¹ãï¼
-1ä»¥ä¸ãªãéã¿ã¹ã¯ã³ã³ãã­ã¹ãã¨ããï¼
-ã³ã³ãã­ã¹ãæ¯ã«ä¾å¤ã¬ãã«ãåããå®è£
-ãåãå ´åã¯PSTATEã®ããã2ããã³3ã§
-ä¾å¤ã¬ãã«ãèª­ã¿åºããã¨ã«ããå¤å¥ããã¨ããæ¹æ³ãèããããï¼
-æ¬å®è£
-ã§ã¯ã³ã³ãã­ã¹ãã«ãããåãä¾å¤ã¬ãã«ãä½¿ç¨ãï¼ãã­ã»ããµã®
-ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã§ã¯å¤å¥ãã§ããªãããå¤æ°ã§å¤å¥ããï¼
-
-6. CPUã­ãã¯
-
-CPUã­ãã¯PSTATE.Iã«ããCPUã­ãã¯ãå®ç¾ããï¼
-
-7. å²è¾¼ã¿ã­ãã¯ã¨CPUä¾å¤ã®é¢ä¿
-
-FIQãã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿ã¨ããããï¼å²è¾¼ã¿ã­ãã¯ã¯PSTATE.Iã«å ãã¦
-PSTATE.Fãç¨ãã¦å®ç¾ããï¼ãã ãï¼ãã©ã°ããäºãã«ç¬ç«ãããããï¼
-å²è¾¼ã¿ã­ãã¯ç¶æ
-ã®è¨­å®/è§£é¤ã®éã¯ï¼ã­ãã¯åã«CPUã­ãã¯ãã©ã°(=PSTATE.I)ã®
-ç¶æ
-ãä¿å­ãï¼è§£é¤åã«å
-ã®ç¶æ
-ã«æ»ãããã«ãã¦ããï¼
-
-8. å¤é¨åªå
-åº¦ã¨å
-é¨åªå
-åº¦
-
-å¤é¨åªå
-åº¦ã¨ã¯APIã§æå®ããå²è¾¼ã¿åªå
-åº¦(PRIå)ã®ãã¨ã§ããï¼å¤ãå°ãã
-ã»ã©åªå
-åº¦ãé«ãï¼å²è¾¼ã¿ãã³ãã©ã«ã¯ï¼-1ããé£ç¶ããè² ã®å¤ãè¨­å®å¯è½ã§
-ããï¼GICã®å ´åï¼å
-é¨åªå
-åº¦ã¯ï¼GICC_PMRã¬ã¸ã¹ã¿ã«è¨­å®ããå¤ã§ããï¼
-å¤é¨åªå
-åº¦ã¨å
-é¨åªå
-åº¦ã®å¤æã¯ä»¥ä¸ã®ãã¯ã­ã§è¡¨ç¾ãããï¼
-
-/* å¤é¨è¡¨ç¾ã¸ã®å¤æ */
+割込み/例外発生時の主なシーケンスは次のようになる（遷移先の例外レベルをELxと表現する）
+
+（ハードウェアの処理）
+  ・PSTATEをSPSR_ELxに保存する
+  ・リターンアドレスをELR_ELxに保存する
+  ・PSTATE.{D,A,I,F}を1にセットする
+  ・同期例外およびSError割込みのとき，例外要因情報をESR_ELxに保存する
+  ・スタックポインタをSP_ELxに切り替える
+  ・ELxへ遷移する
+
+（ソフトウェアでの処理）
+  ・(発生時にSP_EL0を使用していた場合)スタックを割込み発生前(SP_EL0)に戻す
+  ・汎用レジスタ(X0-X30)をスタックに保存
+  ・SPSR_ELx, ESR_ELx, ELR_ELxをスタックに保存
+  ・スタックポインタのアライメントを調整
+  ・割込み番号(GICC_IARから取得)，例外番号(オフセット毎に定義した値)をスタックに保存
+  ・割込み発生前の割込み優先度マスクをスタックに保存
+  ・GICC_PMRに受け付けた割込みの割込み優先度をセット
+  ・割込み/例外ネストカウンタのインクリメント
+  ・(割込みの場合)CPUロック解除
+  ・ベクタテーブルを読み込みハンドラを実行する
+
+●例外/割込みからのリターン
+
+（ソフトウェアでの処理）
+  ・CPUロック状態へ移行
+  ・割込み/例外ネスとカウンタのデクリメント
+  ・GICC_PMRに割込み発生前の優先度マスクを戻す
+  ・スタックポインタのアライメント調整分を戻す
+  ・戻り先のコンテキストやシステム状態に応じて割込み/例外発生元へリターン
+    または遅延ディスパッチを実行する
+  ・ELR_ELxに戻り先アドレス，SPSR_ELxにプロセッサ状態がそれぞれ
+    セットされている状態でeret命令を実行し，割込み/例外からリターン
+
+
+○OSの実装
+
+1.コア依存部名称: arm64
+
+ARMv8 では，64ビットモード(AArch64)および32ビットモード(AArch32)の両方をサポートするが
+本実装は64ビットモードのみをサポートすることを明示するためプロセッサ依存部名称を arm64 とした
+
+2. 例外モードの使い分け
+
+本実装ではタスクコンテキスト，非タスクコンテキストいずれも例外レベル1(EL1)で動作する．
+タスクコンテキストをEL0で動作する案も考えられる．その場合は割込み/例外の出口処理において
+遅延ディスパッチの前に例外レベルの切り替えが必要となる．
+
+3.ディスパッチャの実行モード
+
+本実装ではすべて例外レベル1で動作するため，ディスパッチャは例外レベル1(EL1)で動作する．
+
+
+4.スタックの使い分け
+
+SSPではタスクコンテキスト，非タスクコンテキスト共に一つのスタックを共用する．
+本実装ではSP_ELxを使用している．
+この他にSP_EL0を使用する実装も考えられる．その場合は割込み/例外の入口処理にて
+レジスタを保存する前にSP_EL0へのスタック切り替えを行う．
+
+5.コンテキストの判定
+
+割込み/例外のネスト回数を保持する変数(intnest)が0ならタスクタスクコンテキスト，
+1以上なら非タスクコンテキストとする．
+コンテキスト毎に例外レベルを分ける実装を取る場合はPSTATEのビット2および3で
+例外レベルを読み出すことにより判別するという方法も考えられる．
+本実装ではコンテキストによらず同じ例外レベルを使用し，プロセッサの
+ステータスレジスタでは判別ができないため変数で判別する．
+
+6. CPUロック
+
+CPUロックPSTATE.IによりCPUロックを実現する．
+
+7. 割込みロックとCPU例外の関係
+
+FIQをカーネル管理外の割込みとするため，割込みロックはPSTATE.Iに加えて
+PSTATE.Fも用いて実現する．ただし，フラグをお互いに独立させるため，
+割込みロック状態の設定/解除の際は，ロック前にCPUロックフラグ(=PSTATE.I)の
+状態を保存し，解除前に元の状態に戻すようにしている．
+
+8. 外部優先度と内部優先度
+
+外部優先度とはAPIで指定する割込み優先度(PRI型)のことであり，値が小さい
+ほど優先度が高い．割込みハンドラには，-1から連続した負の値を設定可能で
+ある．GICの場合，内部優先度は，GICC_PMRレジスタに設定する値である．
+外部優先度と内部優先度の変換は以下のマクロで表現される．
+
+/* 外部表現への変換 */
 #define EXT_IPM(pri) \
                         (((PRI)((pri) >> GIC_PRI_SHIFT)) - (GIC_PRI_LEVEL - 1))
 
-/* å
-é¨è¡¨ç¾ã¸ã®å¤æ */
+/* 内部表現への変換 */
 #define INT_IPM(ipm) \
                         (((uint_t)((ipm) + (GIC_PRI_LEVEL - 1))) << GIC_PRI_SHIFT)
 
-ããã§GIC_PRI_LEVELã¯ãµãã¼ãããå²è¾¼ã¿åªå
-åº¦ã®æ°ï¼GIC_PRI_SHIFTã¯GICC_PMRã¬ã¸ã¹ã¿å
-
-ã®ï¼å
-é¨åªå
-åº¦ã®å¤ãæ ¼ç´ãããä½ç½®ï¼ããã0ããã®ãªãã»ããï¼ãè¡¨ãï¼
-
-
-9. ã«ã¼ãã«ç®¡çå
-ã®æé«åªå
-åº¦(CPUã­ãã¯ç¶æ
-ã§ã®åªå
-åº¦ãã¹ã¯)
-
-GICã®å ´åï¼ã«ã¼ãã«ç®¡çå
-ã®å²è¾¼ã¿ã®æé«åªå
-åº¦ã¯è¨­å®å¯è½ãªå¤é¨åªå
-åº¦ã®æé«å¤ã¨åãã¨ããï¼
-
-
-ä»¥ä¸ï¼
+ここでGIC_PRI_LEVELはサポートする割込み優先度の数，GIC_PRI_SHIFTはGICC_PMRレジスタ内
+の，内部優先度の値が格納される位置（ビット0からのオフセット）を表す．
+
+
+9. カーネル管理内の最高優先度(CPUロック状態での優先度マスク)
+
+GICの場合，カーネル管理内の割込みの最高優先度は設定可能な外部優先度の最高値と同じとする．
+
+
+以上．
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,9 +41,9 @@
 
 /*
- *    kernel.hã®ãã­ã»ããµä¾å­é¨ï¼ARMv8-Aç¨ï¼
+ *    kernel.hのプロセッサ依存部（ARMv8-A用）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
- *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
- *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，target_kernel.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -67,11 +52,11 @@
 
 /*
- *  ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
+ *  タイムティックの定義
  */
 #ifndef TIC_NUME
-    #define TIC_NUME                        1U              /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ */
+    #define TIC_NUME                        1U              /* タイムティックの周期の分子 */
 #endif
 #ifndef TIC_DENO
-    #define TIC_DENO                        1U              /* ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯ */
+    #define TIC_DENO                        1U              /* タイムティックの周期の分母 */
 #endif
 
@@ -79,7 +64,6 @@
 
 /*
- *  ã¹ã¿ãã¯ã®å
- *    ã¹ã¿ãã¯ãã¤ã³ã¿ã®ã¢ã©ã¤ã¡ã³ãã¯ãã¤ã³ã¿ãµã¤ãºã®åã«ããå¿
-è¦ããã
+ *  スタックの型
+ *    スタックポインタのアライメントはポインタサイズの倍にする必要がある
  */
 #define TOPPERS_STK_T  uint128_t
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.trb
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.trb	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_kernel.trb	(revision 386)
@@ -12,47 +12,32 @@
 #
 # 
-#   ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
-#   ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
-#   å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
-#   (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
-#       æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
-#       ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
-#   (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
-#       è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
-#       ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#   (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
-#       ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
-#       ã¨ï¼
-#     (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
-#         ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
-#     (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
-#         å ±åãããã¨ï¼
-#   (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
-#       å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
-#       ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
-#       ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
-#       å
-è²¬ãããã¨ï¼
+#   上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+#   ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+#   変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+#   (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+#       権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+#       スコード中に含まれていること．
+#   (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+#       用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+#       者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+#       の無保証規定を掲載すること．
+#   (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+#       用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+#       と．
+#     (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+#         作権表示，この利用条件および下記の無保証規定を掲載すること．
+#     (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+#         報告すること．
+#   (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+#       害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+#       また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+#       由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+#       免責すること．
 # 
-#   æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
-#   ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
-#   ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
-#   ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
-#   ã®è²¬ä»»ãè² ããªãï¼
+#   本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+#   よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+#   に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+#   アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+#   の責任を負わない．
 # 
 #   $Id$
@@ -60,14 +45,14 @@
 
 #
-#  ãã¹2ã®çæã¹ã¯ãªããã®ã³ã¢ä¾å­é¨ï¼ARMv8-Aç¨ï¼
+#  パス2の生成スクリプトのコア依存部（ARMv8-A用）
 #
 
 #
-#  ãã§ãã¯æ¹æ³ã®æå®
+#  チェック方法の指定
 #
 $CHECK_STKSZ_ALIGN = 16
 
 #
-#  ã¿ã¼ã²ããéä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+#  ターゲット非依存部のインクルード
 #
 IncludeTrb("kernel/kernel.trb")
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_sil.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_sil.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_sil.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,5 +41,5 @@
 
 /*
- *   sil.hã®ã³ã¢ä¾å­é¨ï¼ARMv8-Aç¨ï¼
+ *   sil.hのコア依存部（ARMv8-A用）
  */
 
@@ -65,5 +50,5 @@
 
 /*
- *  ã¨ã³ãã£ã¢ã³ã®å®ç¾©
+ *  エンディアンの定義
  */
 #define SIL_ENDIAN_LITTLE
@@ -72,6 +57,5 @@
 
 /*
- *  å
-¨å²è¾¼ã¿ã­ãã¯ãã©ã°ã®ã»ãã(NMIãé¤ããã¹ã¦ã®å²è¾¼ã¿ã®ç¦æ­¢)
+ *  全割込みロックフラグのセット(NMIを除くすべての割込みの禁止)
  */
 Inline bool_t
@@ -93,6 +77,5 @@
 
 /*
- *  å
-¨å²è¾¼ã¿ã­ãã¯ãã©ã°ã®è§£é¤
+ *  全割込みロックフラグの解除
  */
 Inline void
@@ -109,7 +92,5 @@
 
 /*
- *  å
-¨å²è¾¼ã¿ã­ãã¯ç¶æ
-ã®å¶å¾¡
+ *  全割込みロック状態の制御
  */
 #define SIL_PRE_LOC      bool_t  TOPPERS_locked
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_stddef.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_stddef.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_stddef.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,9 +41,9 @@
 
 /*
- *  t_stddef.hã®ã³ã¢ä¾å­é¨ï¼ARMv8-Aç¨ï¼
+ *  t_stddef.hのコア依存部（ARMv8-A用）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼target_stddef.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯
- *  ã«ã¼ãããããã¡ã¤ã«ï¼ã®ã¿ããã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡ã¤ã«ãã
- *  ç´æ¥ã¤ã³ã¯ã«ã¼ããã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，target_stddef.h（または，そこからインク
+ *  ルードされるファイル）のみからインクルードされる．他のファイルから
+ *  直接インクルードしてはならない．
  */
 
@@ -67,12 +52,12 @@
 
 /*
- *  ã¿ã¼ã²ãããè­å¥ããããã®ãã¯ã­ã®å®ç¾©
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_ARM64           /* ã³ã¢ç¥ç§° */
+#define TOPPERS_ARM64           /* コア略称 */
 
 #ifndef TOPPERS_MACRO_ONLY
 
 /*
- *  ãã¼ã¿åã®å®ç¾©
+ *  データ型の定義
  */
 typedef __int128_t    int128_t;
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_support.S
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_support.S	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_support.S	(revision 386)
@@ -8,64 +8,49 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
- *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
- *
- */
-
-/*
- *  ãã­ã»ããµä¾å­ã¢ã¸ã¥ã¼ã« ã¢ã»ã³ããªè¨èªé¨ï¼ARM64ç¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
+ *
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
+ *
+ */
+
+/*
+ *  プロセッサ依存モジュール アセンブリ言語部（ARM64用）
  */
 
 #define TOPPERS_MACRO_ONLY
-#define UINT_C(val)	(val)		/* uint_tåã®å®æ°ãä½ããã¯ã­ */
-#define ULONG_C(val)	(val)		/* ulong_tåã®å®æ°ãä½ããã¯ã­ */
-#define UINT64_C(val)   (val)           /* uint64_tåã®å®æ°ãä½ããã¯ã­ */
-#define CAST(type, val)	(val)		/* åã­ã£ã¹ããè¡ããã¯ã­ */
+#define UINT_C(val)	(val)		/* uint_t型の定数を作るマクロ */
+#define ULONG_C(val)	(val)		/* ulong_t型の定数を作るマクロ */
+#define UINT64_C(val)   (val)           /* uint64_t型の定数を作るマクロ */
+#define CAST(type, val)	(val)		/* 型キャストを行うマクロ */
 
 #include "kernel_impl.h"
 
 /*
- *  ãã£ã¹ãããã£ã®åä½éå§
+ *  ディスパッチャの動作開始
  */
     .text
@@ -75,46 +60,24 @@
 start_dispatch:
     /*
-     *  ãã®ã«ã¼ãã³ã¯ï¼ã«ã¼ãã«èµ·åæã«ï¼ä»¥ä¸ã®ç¶æ
-ã§å¼ã³åºãããï¼
-     *    ã»ãã¹ã¦ã®å²è¾¼ã¿ãç¦æ­¢ããç¶æ
-å²è¾¼ã¿ã­ãã¯ç¶æ
-ã¨åç­ï¼
-     *    ã»å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ç¶æ
-
+     *  このルーチンは，カーネル起動時に，以下の状態で呼び出される．
+     *    ・すべての割込みを禁止した状態割込みロック状態と同等）
+     *    ・割込み優先度マスク全解除状態
      *
-     *  ããã§ã¯ dispatcher ãå¼ã³åºãåã®åæè¨­å®ãè¡ãï¼
-     *  (1) ã·ã¹ãã ç¶æ
-ã®åæåï¼ä»¥ä¸ã®ç¶æ
-ã¸ç§»è¡ããï¼
-     *    ã»å
-¨å²è¾¼ã¿ã­ãã¯è§£é¤ç¶æ
-(ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿è¨±å¯)
-     *    ã»CPUã­ãã¯ç¶æ
-(ã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ç¦æ­¢)
-     *    ã»å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ç¶æ
-
-     *    ã»ãã£ã¹ãããè¨±å¯ç¶æ
-
+     *  ここでは dispatcher を呼び出す前の初期設定を行う．
+     *  (1) システム状態の初期化．以下の状態へ移行する．
+     *    ・全割込みロック解除状態(カーネル管理外の割込み許可)
+     *    ・CPUロック状態(カーネル管理の割込み禁止)
+     *    ・割込み優先度マスク全解除状態
+     *    ・ディスパッチ許可状態
      *
-     *    (1-1) å²è¾¼ã¿åªå
-åº¦ãã¹ã¯ã¯åæãããã§ã«
-     *          ã¢ãã«ä¸ã®ï¼å²è¾¼ã¿åªå
-åº¦ãã¹ã¯å
-¨è§£é¤ç¶æ
-ã«ãªã£ã¦ããï¼
-     *    (1-2) ãã£ã¹ãããç¦æ­¢ãã©ã°ã¯ task_initialize ã§ disdsp ã false ã«
-     *          åæåãã¦ããããï¼ãã§ã«ãã£ã¹ãããè¨±å¯ç¶æ
-ã«ãªã£ã¦ããï¼
-     *    (1-3) ããã§ã¯å²è¾¼ã¿ã­ãã¯ç¶æ
-ãè§£é¤ãï¼CPUã­ãã¯ç¶æ
-ã®è¨­å®ãè¡ãï¼
+     *    (1-1) 割込み優先度マスクは前提よりすでに
+     *          モデル上の）割込み優先度マスク全解除状態になっている．
+     *    (1-2) ディスパッチ禁止フラグは task_initialize で disdsp を false に
+     *          初期化しているため，すでにディスパッチ許可状態になっている．
+     *    (1-3) ここでは割込みロック状態を解除し，CPUロック状態の設定を行う．
      *
-     *  (2) ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
-     *      start_dispatch ãå¼ã³åºãããã¨ï¼ä»å¾ããã«æ»ã£ã¦ãããã¨ã¯ãªããã
-     *      ã¹ã¿ãã¯ãã¤ã³ã¿ãããã§åæåããï¼
+     *  (2) スタックポインタの初期化
+     *      start_dispatch が呼び出されると，今後ここに戻ってくることはないため
+     *      スタックポインタをここで初期化する．
      */
     ldr x0, =_kernel_istkpt // setup stack
@@ -122,14 +85,14 @@
     mov sp, x0
 
-    // F ãã©ã°ãã¯ãªã¢(å²è¾¼ã¿ã­ãã¯è§£é¤ï¼CPUã­ãã¯ç¸å½)
+    // F フラグをクリア(割込みロック解除，CPUロック相当)
     msr   daifclr, #AARCH64_DAIF_FIQ
 
-    // dispatcherå¼ã³åºã
+    // dispatcher呼び出し
     b      dispatcher
 
 /*
- *  ã«ã¼ãã«ã®çµäºå¦çã®å¼åºã
- *
- *  ã¹ã¿ãã¯ãéã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã«åãæ¿ãï¼
+ *  カーネルの終了処理の呼出し
+ *
+ *  スタックを非タスクコンテキスト用に切り替え．
  *
  */
@@ -140,5 +103,5 @@
 call_exit_kernel:
     /*
-     *  ã¹ã¿ãã¯ãã¤ã³ã¿ã®åæå
+     *  スタックポインタの初期化
      */
     ldr    x0, =_kernel_istkpt
@@ -146,18 +109,16 @@
     mov    sp, x0
 
-    // å
-¨ã¦ã®ä¾å¤ããã¹ã¯(å
-¨å²è¾¼ã¿ã­ãã¯ç¸å½)
+    // 全ての例外をマスク(全割込みロック相当)
     msr    daifset, #(AARCH64_DAIF_ALL)
 
-    b      exit_kernel       /* ã«ã¼ãã«ã®çµäºå¦çãå¼ã¶ */
-
-
-/*
- * å²è¾¼ã¿/ä¾å¤ã³ã³ãã­ã¹ãä¿å­å¦ç
+    b      exit_kernel       /* カーネルの終了処理を呼ぶ */
+
+
+/*
+ * 割込み/例外コンテキスト保存処理
  */
 .macro __save_context
     /*
-     *  x0 - x29 ã®ä¿å­(x0,x1ãã¢ããx28, x29ã¾ã§)
+     *  x0 - x29 の保存(x0,x1ペアからx28, x29まで)
      */
     stp	   x1, x0, [sp, #-16]!
@@ -178,5 +139,5 @@
 
     /*
-     * spsr_el1, x30ããã¢ã§ä¿å­
+     * spsr_el1, x30をペアで保存
      */
     mrs	   x21, spsr_el1
@@ -184,5 +145,5 @@
 
     /*
-     * esr_el1, elr_el1 ããã¢ã§ä¿å­
+     * esr_el1, elr_el1 をペアで保存
      */
     mrs	   x21, esr_el1
@@ -191,5 +152,5 @@
 
     /*
-     * è¿½å ã®æ ¼ç´é åãç¢ºä¿ããããï¼SPãæ¸ç®ãã¦ãã
+     * 追加の格納領域を確保するため，SPを減算しておく
      */
     sub     sp, sp, #16
@@ -197,21 +158,19 @@
 
 /*
- * ã³ã³ãã­ã¹ãå¾©å¸°å¦ç
+ * コンテキスト復帰処理
  */
 .macro __restore_context
     /*
-     * ã¹ã¿ãã¯ã«ä¿å­ããä¸é¨ãã¼ã¿ã®ç ´æ£
+     * スタックに保存した一部データの破棄
      */
     mov    x1, #16
     add	   sp, sp, x1
     /*
-     * ELR ã®å¾©å
-(ESRã¯ç ´æ£)
+     * ELR の復元(ESRは破棄)
      */
     ldp    x21, x22, [sp], #16
     msr    elr_el1, x22
     /*
-     * SPSR/x30 ã®å¾©å
-
+     * SPSR/x30 の復元
      */
     ldp    x21, x30, [sp], #16
@@ -219,6 +178,5 @@
 
     /*
-     * x0 - x29 ã®å¾©å
-
+     * x0 - x29 の復元
      */
     ldp    x29, x28, [sp], #16
@@ -240,5 +198,5 @@
 
 /*
- *  (ã«ã¼ãã«ç®¡çå¤ã®)CPUä¾å¤/FIQã®åºå£å¦ç
+ *  (カーネル管理外の)CPU例外/FIQの出口処理
  */
     .text
@@ -248,11 +206,10 @@
 ret_exc:
 ret_fiq:
-    __restore_context    // ã¬ã¸ã¹ã¿å¾©å¸°
+    __restore_context    // レジスタ復帰
     eret
 
 /*
- *  å²è¾¼ã¿/(ã«ã¼ãã«ç®¡çã®)CPUä¾å¤ã®åºå£å¦ç
- *    åæï¼CPUã­ãã¯ç¶æ
-, ãã¹ãã«ã¦ã³ã¿ãã¯ãªã¡ã³ãæ¸ã¿
+ *  割込み/(カーネル管理の)CPU例外の出口処理
+ *    前提：CPUロック状態, ネストカウンタデクリメント済み
  */
     .text
@@ -260,23 +217,20 @@
     .global ret_int
 ret_int:
-    // æ»ãå
-ã®ã³ã³ãã­ã¹ããç¢ºèªãï¼å¤æ®µå²è¾¼ã¿ãªããªã¿ã¼ã³
+    // 戻り先のコンテキストを確認し，多段割込みならリターン
     ldr    x1, =_kernel_intnest
     ldrb   w3, [x1]
     cbnz   w3, int_return
 
-ret_int_2:        // åæ®µã®å²è¾¼ã¿ã®å ´å
-    // reqflg ã false ãªãå¼ã³åºãå
-ã¸æ»ã
+ret_int_2:        // 初段の割込みの場合
+    // reqflg が false なら呼び出し元へ戻る
     ldr    x0, =reqflg
     ldr    w1, [x0]
     cbz    w1, int_return
 
-ret_int_3:        // reqflg ã true ã®å ´å
+ret_int_3:        // reqflg が true の場合
     mov    w1, #0        // reqflg = false
     str    w1, [x0]
 
-    // ãã£ã¹ãããç¦æ­¢ãªãå¼ã³åºãå
-ã¸æ»ã
+    // ディスパッチ禁止なら呼び出し元へ戻る
     ldr    x0, =disdsp
     ldr    w1, [x0]
@@ -284,7 +238,6 @@
 
     /*
-     *  é
-å»¶ãã£ã¹ããã
-     *    search_schedtsk ã®è¿å¤(x0)ãå¼æ°ã¨ãã¦ run_task ãå¼ã³åºã
+     *  遅延ディスパッチ
+     *    search_schedtsk の返値(x0)を引数として run_task を呼び出す
      */
     bl    search_schedtsk
@@ -292,15 +245,14 @@
 
     /*
-     *  å¼ã³åºãå
-ã¸ãªã¿ã¼ã³
+     *  呼び出し元へリターン
      */
 int_return:
-    __restore_context    // ã¬ã¸ã¹ã¿å¾©å¸°
+    __restore_context    // レジスタ復帰
     eret
 
 /*
- *  å²è¾¼ã¿ãã¯ã¿
- *    æåã«å²è¾¼ã¿çºçåã®ã¹ã¿ãã¯ã«æ»ãã¦ããã¬ã¸ã¹ã¿ãä¿å­ãã
- *    ãã¼ãã¦ã§ã¢ã«ãã£ã¦PSTATE.{I,F} ãã»ããæ¸ã§ãããã¨ãåæã¨ãã
+ *  割込みベクタ
+ *    最初に割込み発生前のスタックに戻してからレジスタを保存する
+ *    ハードウェアによってPSTATE.{I,F} がセット済であることを前提とする
  */
     .text
@@ -313,12 +265,12 @@
 
     // Sync EL1
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
-    __save_context
-    mov    x22, #0                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
+    __save_context
+    mov    x22, #0                  // 例外番号をx22にセット
     b      chip_exc_entry
 
     // IRQ EL1
     .align 7
-    msr    spsel,   #0              // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
+    msr    spsel,   #0              // 例外発生前のスタック(SP_EL0)に戻す
     __save_context
     b      chip_int_entry
@@ -326,5 +278,5 @@
     // FIQ EL1
     .align 7
-    msr    spsel, #0                // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã¸æ»ã
+    msr    spsel, #0                // 例外発生前のスタック(SP_EL0)へ戻す
     __save_context
     b      chip_fiq_entry
@@ -332,7 +284,7 @@
     // SError EL1
     .align 7
-    msr    spsel, #0                // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã¸æ»ã
-    __save_context
-    mov    x22, #1                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    msr    spsel, #0                // 例外発生前のスタック(SP_EL0)へ戻す
+    __save_context
+    mov    x22, #1                  // 例外番号をx22にセット
     b      chip_exc_entry
 
@@ -344,5 +296,5 @@
     .align 7
     __save_context
-    mov    x22, #2                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    mov    x22, #2                  // 例外番号をx22にセット
     b      chip_exc_entry
 
@@ -360,5 +312,5 @@
     .align 7
     __save_context
-    mov    x22, #3                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    mov    x22, #3                  // 例外番号をx22にセット
     b      chip_exc_entry
 
@@ -369,12 +321,12 @@
     // Sync EL0
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
-    __save_context
-    mov    x22, #4                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
+    __save_context
+    mov    x22, #4                  // 例外番号をx22にセット
     b      chip_exc_entry
 
    // IRQ EL0
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
     __save_context
     b      chip_int_entry
@@ -382,5 +334,5 @@
     // FIQ EL0
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
     __save_context
     b      chip_fiq_entry
@@ -388,7 +340,7 @@
     // Error EL0
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
-    __save_context
-    mov    x22, #5                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
+    __save_context
+    mov    x22, #5                  // 例外番号をx22にセット
     b      chip_exc_entry
 
@@ -399,12 +351,12 @@
     // AArch32 sync
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
-    __save_context
-    mov    x22, #6                  // ä¾å¤çªå·ãx22ã«ã»ãã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
+    __save_context
+    mov    x22, #6                  // 例外番号をx22にセット
     b      chip_exc_entry
 
     // AArch32 IRQ
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
     __save_context
     b      chip_int_entry
@@ -412,5 +364,5 @@
     // AArch32 FIQ
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
     __save_context
     b      chip_fiq_entry
@@ -418,6 +370,6 @@
     // AArch32 Error
     .align 7
-    msr    spsel,  #0               // ä¾å¤çºçåã®ã¹ã¿ãã¯(SP_EL0)ã«æ»ã
-    __save_context
-    mov    x22, #7                  // ä¾å¤çªå·ãx22ã«ã»ãã
-    b      chip_exc_entry
+    msr    spsel,  #0               // 例外発生前のスタック(SP_EL0)に戻す
+    __save_context
+    mov    x22, #7                  // 例外番号をx22にセット
+    b      chip_exc_entry
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_test.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_test.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_test.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  @(#) $Id$
@@ -56,5 +41,5 @@
 
 /*
- *  ãã¹ããã­ã°ã©ã ã®ãããä¾å­å®ç¾©ï¼ARMv8-Aç¨ï¼
+ *  テストプログラムのチップ依存定義（ARMv8-A用）
  */
 
@@ -63,6 +48,5 @@
 
 /*
- *  ã³ã¢ã§å
-±éãªå®ç¾©
+ *  コアで共通な定義
  */
 
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.c
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.c	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.c	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -56,5 +41,5 @@
 
 /*
- *  ã¿ã¤ããã©ã¤ãï¼Generic Timerï¼
+ *  タイマドライバ（Generic Timer）
  */
 #include "kernel_impl.h"
@@ -63,15 +48,15 @@
 
 /*
- *  ã¿ã¤ãã®å¨æ³¢æ°(åä½: kHz)
+ *  タイマの周波数(単位: kHz)
  */
 static uint32_t timer_clock;
 
 /*
- *  ã¿ã¤ãã®è¨­å®å¤(æ¯è¼å¯¾è±¡ã¨ããå¤)
+ *  タイマの設定値(比較対象とする値)
  */
 static uint64_t timer_cval;
 
 /*
- *  ã¿ã¤ãã®éå§
+ *  タイマの開始
  */
 Inline void
@@ -86,5 +71,5 @@
 
 /*
- *  ã¿ã¤ãã®åæ­¢
+ *  タイマの停止
  */
 Inline void
@@ -98,5 +83,5 @@
 
 /*
- *  ã¿ã¤ãã®èµ·åå¦ç
+ *  タイマの起動処理
  */
 void
@@ -107,10 +92,10 @@
 
     /*
-     *  ã¿ã¤ãã®åæ­¢
+     *  タイマの停止
      */
     target_timer_stop();
 
     /*
-     *  ããªã¹ã±ã¼ã©(=2^31 --> divider=1)
+     *  プリスケーラ(=2^31 --> divider=1)
      */
     sil_wrw_mem((uint32_t *)(0x40000008), 0x80000000);
@@ -120,10 +105,10 @@
 
     /*
-     *  1ãã£ãã¯ã®ã¯ã­ãã¯æ°
+     *  1ティックのクロック数
      */
     cyc = (timer_clock * (TIC_NUME) / (TIC_DENO));
 
     /*
-     *  ã¿ã¤ãã®éå§
+     *  タイマの開始
      */
     clock_write_tval((uint32_t)cyc);
@@ -131,5 +116,5 @@
 
     /*
-     *  ã¿ã¤ãã®è¨­å®å¤
+     *  タイマの設定値
      */
     timer_cval = clock_read_cval();
@@ -137,5 +122,5 @@
 
 /*
- *  ã¿ã¤ãã®åæ­¢å¦ç
+ *  タイマの停止処理
  */
 void
@@ -143,5 +128,5 @@
 {
     /*
-     *  ã¿ã¤ãã®åæ­¢
+     *  タイマの停止
      */
     clock_write_ctrl((uint32_t)0);
@@ -149,5 +134,5 @@
 
 /*
- *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ *  タイマ割込みハンドラ
  */
 void
@@ -158,20 +143,20 @@
 
     /*
-     *  ã¿ã¤ãã®åæ­¢
+     *  タイマの停止
      */
     target_timer_stop();
 
     /*
-     *  1ãã£ãã¯ã®ã¯ã­ãã¯æ°
+     *  1ティックのクロック数
      */
     cyc = (timer_clock * (TIC_NUME) / (TIC_DENO));
 
     /*
-     *  ã¿ã¤ãã®è¨­å®å¤
+     *  タイマの設定値
      */
     timer_cval = timer_cval + (uint64_t)cyc;
 
 
-    // ã«ã¦ã³ã¿ããèª­ã¿åºã
+    // カウンタから読み出し
     pct = clock_read_counter();
 
@@ -184,15 +169,15 @@
 
     /*
-     *  ã¿ã¤ãã®è¨­å®
+     *  タイマの設定
      */
     clock_write_cval((uint64_t)timer_cval);
 
     /*
-     *  ã¿ã¤ãã®éå§
+     *  タイマの開始
      */
     target_timer_start();
 
     i_begin_int(INTNO_TIMER);
-    signal_time();              /* ã¿ã¤ã ãã£ãã¯ã®ä¾çµ¦ */
+    signal_time();              /* タイムティックの供給 */
     i_end_int(INTNO_TIMER);
 }
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.cfg
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.cfg	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.cfg	(revision 386)
@@ -4,5 +4,5 @@
 
 /*
- *		ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *		タイマドライバのコンフィギュレーションファイル
  */
 ATT_INI({ TA_NULL, 0, target_timer_initialize });
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.h
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.h	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_timer.h	(revision 386)
@@ -8,47 +8,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -56,5 +41,5 @@
 
 /*
- *  ã¿ã¤ããã©ã¤ãï¼Generic Timerï¼
+ *  タイマドライバ（Generic Timer）
  */
 
@@ -65,21 +50,20 @@
 
 /*
- *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ç»é²ã®ããã®å®æ°
+ *  タイマ割込みハンドラ登録のための定数
  */
 
-#define INTNO_TIMER     TINTNO_CNTPNS  /* å²è¾¼ã¿çªå· */
-#define INHNO_TIMER     INTNO_TIMER   /* å²è¾¼ã¿ãã³ãã©çªå· */
+#define INTNO_TIMER     TINTNO_CNTPNS  /* 割込み番号 */
+#define INHNO_TIMER     INTNO_TIMER   /* 割込みハンドラ番号 */
 
 #ifndef INTPRI_TIMER
-#define INTPRI_TIMER    (-3)            /* å²è¾¼ã¿åªå
-åº¦ */
+#define INTPRI_TIMER    (-3)            /* 割込み優先度 */
 #endif
 
 #ifndef INTATR_TIMER
-#define INTATR_TIMER    TA_NULL            /* å²è¾¼ã¿å±æ§ */
+#define INTATR_TIMER    TA_NULL            /* 割込み属性 */
 #endif
 
 /*
- *  å¶å¾¡ã¬ã¸ã¹ã¿ã®ãããå®ç¾©
+ *  制御レジスタのビット定義
  */
 #define CNTP_CTL_ENABLE     (1 << 0)
@@ -91,5 +75,5 @@
 
 /*
- *  ç©çã¿ã¤ãã®å¶å¾¡ã¬ã¸ã¹ã¿ããã®èª­ã¿åºã
+ *  物理タイマの制御レジスタからの読み出し
  */
 Inline uint32_t
@@ -104,5 +88,5 @@
 
 /*
- *  ç©çã¿ã¤ãã®å¶å¾¡ã¬ã¸ã¹ã¿ã¸ã®æ¸ãè¾¼ã¿
+ *  物理タイマの制御レジスタへの書き込み
  */
 Inline void
@@ -114,5 +98,5 @@
 
 /*
- *  ç©çã¿ã¤ã(ããªã¼ã«ã¦ã³ã¿)ã®ã«ã¦ã³ãå¤ã®èª­ã¿åºã
+ *  物理タイマ(フリーカウンタ)のカウント値の読み出し
  */
 Inline uint64_t
@@ -126,5 +110,5 @@
 
 /*
- *  ç©çã¿ã¤ãå¤ã®èª­ã¿åºã
+ *  物理タイマ値の読み出し
  */
 Inline uint32_t
@@ -138,5 +122,5 @@
 
 /*
- *  ç©çã¿ã¤ãå¤ã®æ¸ãè¾¼ã¿
+ *  物理タイマ値の書き込み
  */
 Inline void
@@ -147,5 +131,5 @@
 
 /*
- *  ã¿ã¤ãã®æ¯è¼å¤ã®èª­ã¿åºã
+ *  タイマの比較値の読み出し
  */
 Inline uint64_t
@@ -159,5 +143,5 @@
 
 /*
- *  ã¿ã¤ãã®æ¯è¼å¤ã®æ¸ãè¾¼ã¿
+ *  タイマの比較値の書き込み
  */
 Inline void
@@ -168,5 +152,5 @@
 
 /*
- *  ã·ã¹ãã ã«ã¦ã³ã¿ã®ã¯ã­ãã¯å¨æ³¢æ°ã®åå¾
+ *  システムカウンタのクロック周波数の取得
  */
 Inline uint32_t
@@ -179,17 +163,17 @@
 
 /*
- *  ã¿ã¤ãã®èµ·åå¦ç
+ *  タイマの起動処理
  *
- *  ã¿ã¤ããåæåãï¼å¨æçãªã¿ã¤ãå²è¾¼ã¿è¦æ±ãçºçãããï¼
+ *  タイマを初期化し，周期的なタイマ割込み要求を発生させる．
  */
 extern void target_timer_initialize(intptr_t exinf);
 
 /*
- *  ã¿ã¤ãã®åæ­¢å¦ç
+ *  タイマの停止処理
  */
 extern void target_timer_terminate(intptr_t exinf);
 
 /*
- *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©
+ *  タイマ割込みハンドラ
  */
 extern void target_timer_handler(void);
Index: /ssp_rpi3/trunk/arch/arm64_gcc/common/core_user.txt
===================================================================
--- /ssp_rpi3/trunk/arch/arm64_gcc/common/core_user.txt	(revision 385)
+++ /ssp_rpi3/trunk/arch/arm64_gcc/common/core_user.txt	(revision 386)
@@ -1,70 +1,58 @@
 =====================================================================
-                         ARM64ãã­ã»ããµä¾å­é¨
+                         ARM64プロセッサ依存部
                                   Last Modified: '19/04/16
 =====================================================================
 
 
-(1) å¯¾å¿ãã¦ããã¿ã¼ã²ããã·ã¹ãã ã®ç¨®é¡ã»æ§æ
+(1) 対応しているターゲットシステムの種類・構成
 
-ARM64ä¾å­é¨ã¯ï¼ARMv8-A ã¢ã¼ã­ãã¯ãã£ãã¿ã¼ã²ããã¨ãã¦ããï¼ARMv8-A ã¯
-64ãããã¢ã¼ã­ãã¯ãã£ã§ããå½ä»¤ã»ããã¬ãã«ã§ãARMã¨ã¯ç°ãªãããï¼
-ARMä¾å­é¨ã¨åãã¦ããï¼
+ARM64依存部は，ARMv8-A アーキテクチャをターゲットとしている．ARMv8-A は
+64ビットアーキテクチャであり命令セットレベルでもARMとは異なるため，
+ARM依存部と分けている．
 
-ã³ã¢ç¥ç§°ç­ã¯æ¬¡ã®éãï¼
+コア略称等は次の通り．
 
-        ã³ã¢ç¥ç§°ï¼arm64
-        éçºç°å¢ç¥ç§°ï¼gcc
+        コア略称：arm64
+        開発環境略称：gcc
 
-(2) ä½¿ç¨ããéçºç°å¢ã¨åä½æ¤è¨¼ããæ¡ä»¶ï¼ãã¼ã¸ã§ã³ï¼ãªãã·ã§ã³ç­ï¼
+(2) 使用する開発環境と動作検証した条件（バージョン，オプション等）
 
-ã«ã¼ãã«ã¯GCCãç¨ãã¦ã³ã³ãã¤ã«ããï¼åä½ç¢ºèªãããã¼ã¸ã§ã³ã¯åã¿ã¼ã²
-ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
+カーネルはGCCを用いてコンパイルする．動作確認したバージョンは各ターゲ
+ット依存部のドキュメントに記載する．
 
-(3) ã¿ã¼ã²ããå®ç¾©äºé 
-ã®è¦å®
+(3) ターゲット定義事項の規定
 
-(3-1) ãã¼ã¿åã«é¢ããè¦å®
+(3-1) データ型に関する規定
 
-ãã¼ã¿åã¯ arch/gcc/tool_stddef.h ã§å®ç¾©ããã¦ããå
-å®¹ã§ï¼floatåã¨
-doubleåã¯ï¼ããããIEEE754æºæ ã®åç²¾åº¦æµ®åå°æ°ç¹æ°ã¨åç²¾åº¦æµ®åå°æ°ç¹
-æ°ã§ããï¼
+データ型は arch/gcc/tool_stddef.h で定義されている内容で，float型と
+double型は，それぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点
+数である．
 
-ãã®ã»ãï¼ã¹ã¿ãã¯é åãç¢ºä¿ããããã®ãã¼ã¿åã®ããã«
-int128_t ããã³ uint128_t ãå®ç¾©ãã¦ããï¼
+このほか，スタック領域を確保するためのデータ型のために
+int128_t および uint128_t を定義している．
 
-(3-2) å²è¾¼ã¿å¦çã«é¢ããè¦å®
+(3-2) 割込み処理に関する規定
 
-ãããã«æ­è¼ãããå²è¾¼ã¿ã³ã³ãã­ã¼ã©ã«ããç°ãªãï¼
-ãã®ããï¼ä»¥ä¸ã®äºé 
-ã«ã¤ãã¦ã¯ãããä¾å­é¨ã«è¨è¼ããï¼
+チップに搭載される割込みコントローラにより異なる．
+そのため，以下の事項についてはチップ依存部に記載する．
 
-ã»å²è¾¼ã¿ãã³ãã©çªå·ã¨å²è¾¼ã¿çªå·ã®å²å½ã¦ï¼ä¸¡è
-ã®å¯¾å¿
-ã»å²è¾¼ã¿åªå
-åº¦ã®æ®µéæ°ï¼TMIN_INTPRIã®å¤ï¼ï¼ãã®è¨­å®æ¹æ³
-ã»dis_intã¨ena_intã®ãµãã¼ãã®æç¡ï¼ãã®å¶éäºé 
+・割込みハンドラ番号と割込み番号の割当て，両者の対応
+・割込み優先度の段階数（TMIN_INTPRIの値），その設定方法
+・dis_intとena_intのサポートの有無，その制限事項
+・CFG_INTの制限事項と拡張（ターゲット定義で使用できる割込み属性）
+・カーネル管理外の割込み
 
-ã»CFG_INTã®å¶éäºé 
-ã¨æ¡å¼µï¼ã¿ã¼ã²ããå®ç¾©ã§ä½¿ç¨ã§ããå²è¾¼ã¿å±æ§ï¼
-ã»ã«ã¼ãã«ç®¡çå¤ã®å²è¾¼ã¿
+(3-3) CPU例外処理に関する規定
 
-(3-3) CPUä¾å¤å¦çã«é¢ããè¦å®
+・CPU例外ハンドラ番号
 
-ã»CPUä¾å¤ãã³ãã©çªå·
+Synchronous例外およびSError例外をCPU例外として扱う．
 
-Synchronousä¾å¤ããã³SErrorä¾å¤ãCPUä¾å¤ã¨ãã¦æ±ãï¼
+ARMv8では，例外発生時の例外レベル(EL)，使用スタック，実行状態(AArch32 or AArch64)，
+発生した例外の種類により，ジャンプ先となる例外ベクタ中のオフセットアドレスが異なる．
+CPU例外ハンドラはこのジャンプ先のオフセットアドレスで区別することにし，
+それぞれ異なるCPU例外ハンドラ番号を割り当てる．
 
-ARMv8ã§ã¯ï¼ä¾å¤çºçæã®ä¾å¤ã¬ãã«(EL)ï¼ä½¿ç¨ã¹ã¿ãã¯ï¼å®è¡ç¶æ
-(AArch32 or AArch64)ï¼
-çºçããä¾å¤ã®ç¨®é¡ã«ããï¼ã¸ã£ã³ãå
-ã¨ãªãä¾å¤ãã¯ã¿ä¸­ã®ãªãã»ããã¢ãã¬ã¹ãç°ãªãï¼
-CPUä¾å¤ãã³ãã©ã¯ãã®ã¸ã£ã³ãå
-ã®ãªãã»ããã¢ãã¬ã¹ã§åºå¥ãããã¨ã«ãï¼
-ããããç°ãªãCPUä¾å¤ãã³ãã©çªå·ãå²ãå½ã¦ãï¼
-
-  ä¾å¤çºçæã®ç¶æ
-             ä¾å¤ã®ç¨®é¡      ä¾å¤çªå· ãä¾å¤ãã¯ã¿å
-é ­ããã®ãªãã»ãã
+  例外発生時の状態             例外の種類      例外番号 　例外ベクタ先頭からのオフセット
   AArch64, EL1t(EL1, SP_EL0)  Synchronous         0        0x0000
   AArch64, EL1t(EL1, SP_EL0)  SError              1        0x0180
@@ -77,47 +65,39 @@
 
 
-(3-4) CPUã­ãã¯ã»å²è¾¼ã¿ã­ãã¯
+(3-4) CPUロック・割込みロック
 
-ãããã«ããå®è£
-æ¹æ³ãç°ãªãããï¼ãããä¾å­é¨ã«è¨è¼ããï¼
+チップにより実装方法が異なるため，チップ依存部に記載する．
 
 
-(3-5) æ§è½è©ä¾¡ç¨ã·ã¹ãã æå»ã®åç
-§ã«é¢ããè¦å®
+(3-5) 性能評価用システム時刻の参照に関する規定
 
-ã·ã¹ãã ã«ãã£ã¦ç°ãªããããããä¾å­é¨ã¾ãã¯ã¿ã¼ã²ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã§è¨è¼ããï¼
+システムによって異なるためチップ依存部またはターゲット依存部のドキュメントで記載する．
 
 
-(3-6) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã®åæåå
-å®¹
+(3-6) スタートアップルーチンでの初期化内容
 
-ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ãåæã¨ãããã­ã»ããµã®ç¶æ
-ã¯ã·ã¹ãã ã«ããç°ãªãããï¼
-ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã¯ã¿ã¼ã²ããä¾å­é¨ã®ãã­ã¥ã¡ã³ãã«è¨è¼ããï¼
+スタートアップルーチンが前提とするプロセッサの状態はシステムにより異なるため，
+スタートアップルーチンはターゲット依存部のドキュメントに記載する．
 
-(4) ã¿ã¤ããã©ã¤ãé¢é£ã®æ
-å ±
+(4) タイマドライバ関連の情報
 
-ã«ã¼ãã«ã®ã¿ã¤ã ãã£ãã¯ã¨ãã¦ï¼Generic Timer ãä½¿ç¨ããï¼
-ãã£ãã¯å¨æã¯1msecã¨ããï¼ã¾ãTIC_DENOåã³TIC_NUMEã®æ¢å®å¤ã¨ãã¦1ã«å®ç¾©ããï¼
+カーネルのタイムティックとして，Generic Timer を使用する，
+ティック周期は1msecとする．またTIC_DENO及びTIC_NUMEの既定値として1に定義する．
 
 
-(5) ã¿ã¼ã²ããä¾å­é¨ã§ã®è¨­å®å¯è½é 
-ç®
+(5) ターゲット依存部での設定可能項目
 
-ã¿ã¼ã²ããä¾å­é¨ã§ã¯ä»¥ä¸ã®ãã¯ã­ãå®ç¾©ããï¼
-ããã¤ãã¯ãã­ã»ããµã®ä¾å­é¨ã«ããã¦æ¢å®å¤ãå®ç¾©ããã¦ããï¼
+ターゲット依存部では以下のマクロを定義する．
+いくつかはプロセッサの依存部において既定値が定義されている．
 
-   ã»TMIN_INTPRI    : å²è¾¼ã¿åªå
-åº¦ã®æå°å¤ï¼æé«å¤ï¼
-   ã»TIC_NUME       : ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­
-   ã»TIC_DENO       : ã¿ã¤ã ãã£ãã¯ã®å¨æã®åæ¯
-   ã»INTPRI_TIMER   : ã¿ã¤ãå²è¾¼ã¿åªå
-åº¦
-   ã»INTATR_TIMER   : ã¿ã¤ãå²è¾¼ã¿ã®å²è¾¼ã¿å±æ§
-   ã»DEFAULT_ISTKSZ : ã¹ã¿ãã¯ãµã¤ãºï¼16byteåä½ã§æå®ï¼
+   ・TMIN_INTPRI    : 割込み優先度の最小値（最高値）
+   ・TIC_NUME       : タイムティックの周期の分子
+   ・TIC_DENO       : タイムティックの周期の分母
+   ・INTPRI_TIMER   : タイマ割込み優先度
+   ・INTATR_TIMER   : タイマ割込みの割込み属性
+   ・DEFAULT_ISTKSZ : スタックサイズ（16byte単位で指定）
 
 
-(6) ãã£ã¬ã¯ããªæ§æã»ãã¡ã¤ã«æ§æ
+(6) ディレクトリ構成・ファイル構成
   ./arch/arm64_gcc/
     MANIFEST
@@ -144,8 +124,8 @@
     common/core_user.txt
 
-(12) ãã¼ã¸ã§ã³å±¥æ­´
+(12) バージョン履歴
 
 2018/05/30
- ã»æåã®ãªãªã¼ã¹
+ ・最初のリリース
 2019/04/15
- ã»BCM283xãããä¾å­é¨ã®åé¢ã«åããã¦ä¿®æ­£
+ ・BCM283xチップ依存部の分離に合わせて修正
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/Makefile.target
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/Makefile.target	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/Makefile.target	(revision 386)
@@ -1,8 +1,8 @@
 #
-#  Makefile ã®ã¿ã¼ã²ããä¾å­é¨(RPI-ARM64ç¨)
+#  Makefile のターゲット依存部(RPI-ARM64用)
 #
 
 #
-#  ãã¼ãåï¼ã³ã¢åï¼ãããåï¼éçºç°å¢åã®å®ç¾©
+#  ボード名，コア名，チップ名，開発環境名の定義
 #
 BOARD = rpi_arm64
@@ -12,10 +12,10 @@
 
 #
-#  GNUéçºç°å¢ã®ã¿ã¼ã²ããã¢ã¼ã­ãã¯ãã£ã®å®ç¾©
+#  GNU開発環境のターゲットアーキテクチャの定義
 #
 GCC_TARGET = aarch64-elf
 
 #
-#  ã³ã³ãã¤ã«ãªãã·ã§ã³
+#  コンパイルオプション
 #
 COPTS := $(COPTS) -Werror -ggdb3 -mgeneral-regs-only -fno-pic -fno-builtin -fno-omit-frame-pointer #-mfix-cortex-a53-835769 -mfix-cortex-a53-843419
@@ -26,5 +26,5 @@
 
 #
-#  ã·ã¹ãã ãµã¼ãã¹ã«é¢ããå®ç¾©
+#  システムサービスに関する定義
 #
 SYSSVC_DIRS := $(SYSSVC_DIRS)
@@ -35,5 +35,5 @@
 
 #
-#  ã«ã¼ãã«ã«é¢ããå®ç¾©
+#  カーネルに関する定義
 #
 KERNEL_DIRS := $(KERNEL_DIRS) $(TARGETDIR)
@@ -43,5 +43,5 @@
 
 #
-#  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+#  トレースログに関する設定
 #
 ifeq ($(ENABLE_TRACE),true)
@@ -52,5 +52,5 @@
 
 #
-#  ã³ã³ãã£ã®ã¥ã¬ã¼ã¿é¢ä¿ã®å¤æ°ã®å®ç¾©
+#  コンフィギュレータ関係の変数の定義
 #
 CFG_TABS := $(CFG_TABS) --symval-table $(TARGETDIR)/target_sym.def
@@ -60,38 +60,37 @@
 
 #
-#  -Wall ãªãã·ã§ã³ã®çç¥
-#    -Wallãè¿½å ããããªãå ´åã« true ã«å®ç¾©ãã
+#  -Wall オプションの省略
+#    -Wallを追加したくない場合に true に定義する
 #
 #OMIT_WARNING_ALL = true
 
 #
-#  æé©åãã©ã°ã®çç¥
-#    -O2ãè¿½å ããããªãå ´åã« true ã«å®ç¾©ãã
+#  最適化フラグの省略
+#    -O2を追加したくない場合に true に定義する
 #
 #OMIT_OPTIMIZATION = true
 
 #
-#  ãªã³ã«ã¹ã¯ãªããã®å®ç¾©
+#  リンカスクリプトの定義
 #
 LDSCRIPT = $(SRCDIR)/target/$(BOARD)_$(TOOL)/$(BOARD).ld
 
 #
-#  åã»ã¯ã·ã§ã³ã®å
-é ­çªå°ã®æå®
+#  各セクションの先頭番地の指定
 #
 TEXT_START_ADDRESS = 0x00000000
 
 #
-#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã«é¢ããå®ç¾©
+#  スタートアップモジュールに関する定義
 #
 
-#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«
+#  スタートアップモジュール
 START_OBJS = start.o
-#  ãªã³ã«ã¹ã¯ãªããã«ãSTARTUP(start.o)ããè¨è¿°ããå ´åï¼
-#  ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ååãSTART_OBJS ã®ä»£ããã« HIDDEN_OBJS ã§å®ç¾©ããï¼
+#  リンカスクリプトに「STARTUP(start.o)」を記述した場合，
+#  スタートアップモジュールの名前をSTART_OBJS の代わりに HIDDEN_OBJS で定義する．
 HIDDEN_OBJS =
 
 
-# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ã³ã³ãã¤ã«ã«ã¼ã«
+# スタートアップモジュールのコンパイルルール
 $(START_OBJS): %.o: %.S
 	$(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
@@ -100,5 +99,5 @@
 
 
-# ã¹ã¿ã¼ãã¢ããã¢ã¸ã¥ã¼ã«ã®ä¾å­é¢ä¿ä½æã«ã¼ã«
+# スタートアップモジュールの依存関係作成ルール
 $(START_OBJS:.o=.d): %.d: %.S
 	@$(PERL) $(SRCDIR)/utils/makedep -C $(CC) $(MAKEDEP_OPTS) \
@@ -109,5 +108,5 @@
 
 #
-#  ä¾å­é¢ä¿ã®å®ç¾©
+#  依存関係の定義
 #
 cfg1_out.c: $(TARGETDIR)/target_sym.def
@@ -116,5 +115,5 @@
 
 #
-#  ãã®ä»
+#  その他
 #
 CLEAN_FILES := $(CLEAN_FILES)
@@ -123,5 +122,5 @@
 
 #
-#  ãããä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ã
+#  チップ依存部のインクルード
 #
 include $(SRCDIR)/arch/$(CORE)_$(TOOL)/$(CHIP)/Makefile.chip
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/rpi_arm64.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/rpi_arm64.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/rpi_arm64.h	(revision 386)
@@ -9,47 +9,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -57,5 +42,5 @@
 
 /*
- *  RPI ARM64 ã¿ã¼ã²ãã(RPI3B)ã®ãã¼ãã¦ã§ã¢è³æºå®ç¾©
+ *  RPI ARM64 ターゲット(RPI3B)のハードウェア資源定義
  */
 
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/start.S
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/start.S	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/start.S	(revision 386)
@@ -10,47 +10,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  *  $Id$
@@ -58,5 +43,5 @@
 
 #define TOPPERS_MACRO_ONLY
-#define UINT64_C(val)   (val)           /* uint64_tåã®å®æ°ãä½ããã¯ã­ */
+#define UINT64_C(val)   (val)           /* uint64_t型の定数を作るマクロ */
 #include "kernel_impl.h"
 
@@ -66,19 +51,18 @@
     .global vectors
 start:
-    // ã³ã¢0ã®ã¿å©ç¨
+    // コア0のみ利用
     mrs x0, mpidr_el1
     and x0, x0, #3
     cbz x0, 2f
 1:
-    // ã³ã¢0ä»¥å¤
+    // コア0以外
     wfi
     b   1b
 2:
-    // ããä»¥éã¯ã³ã¢0ã®ã¿
+    // これ以降はコア0のみ
     msr daifset, #(AARCH64_DAIF_IRQ | AARCH64_DAIF_FIQ)      // CPSR.{I,F}=1
 
     /*
-     * ã¹ã¿ãã¯å
-é ­çªå°ãåãåºãã¦ãã
+     * スタック先頭番地を取り出しておく
      */
     adrp x1, _kernel_istkpt
@@ -87,5 +71,5 @@
 
     /*
-     *  ELæ¯ã®å¦ç
+     *  EL毎の処理
      */
     mrs x0, CurrentEL
@@ -106,5 +90,5 @@
     msr CNTFRQ_EL0, x0
 
-    // EL2ã¸ç§»è¡
+    // EL2へ移行
     mov x2, #0x0c9    // I=F=1, MODE=1001 (EL2h)
     msr spsr_el3, x2
@@ -133,5 +117,5 @@
     isb
 
-    // EL1ã¸ç§»è¡
+    // EL1へ移行
     mov x2, #0x0c5         // I,F=1, mode=0101(EL1h)
     msr spsr_el2, x2
@@ -144,10 +128,10 @@
      */
 start_el1:
-    // ã¹ã¿ãã¯ãã¤ã³ã¿ã¨ãã¬ã¼ã ãã¤ã³ã¿ã®åæå
+    // スタックポインタとフレームポインタの初期化
     mov sp, x1
     mov x29, xzr
 
     /*
-     *  ä¾å¤ãã¯ã¿ãã¼ãã«ã®ãã¼ã¹ã¢ãã¬ã¹è¨­å®
+     *  例外ベクタテーブルのベースアドレス設定
      */
     ldr x0, =vectors
@@ -155,5 +139,5 @@
 
     /*
-     *  bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
+     *  bssセクションのクリア
      */
     ldr   x1, =__start_bss
@@ -168,5 +152,5 @@
 4:
     /*
-     *  sta_kerå¼ã³åºã
+     *  sta_ker呼び出し
      */
     bl sta_ker
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_cfg1_out.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_cfg1_out.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_cfg1_out.h	(revision 386)
@@ -1,9 +1,8 @@
 /*
- *  cfg1_out.cããªã³ã¯ããããã«å¿
-è¦ãªã¹ã¿ãã®å®ç¾©
+ *  cfg1_out.cをリンクするために必要なスタブの定義
  */
 
 /*
- *  ãããä¾å­ã®ã¹ã¿ãã®å®ç¾©
+ *  チップ依存のスタブの定義
  */
 #include "arm64_gcc/bcm283x/chip_cfg1_out.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_check.trb
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_check.trb	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_check.trb	(revision 386)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
 #
-#  ãã¹3ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾å­é¨
+#  パス3の生成スクリプトのターゲット依存部
 #
 
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.c
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.c	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.c	(revision 386)
@@ -11,52 +11,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- * ã¿ã¼ã²ããä¾å­ã¢ã¸ã¥ã¼ã«(RPI_ARM64ç¨)
+ * ターゲット依存モジュール(RPI_ARM64用)
  */
 #include "kernel_impl.h"
@@ -66,5 +51,5 @@
 
 /*
- * ã¿ã¼ã²ããä¾å­é¨ãåæåå¦ç
+ * ターゲット依存部　初期化処理
  */
 void target_initialize(void)
@@ -73,5 +58,5 @@
 
     /*
-     *  GPIOãã³ãUART0ã¨ãã¦å©ç¨ããããã®è¨­å®
+     *  GPIOピンをUART0として利用するための設定
      */
     tmp = sil_rew_mem((uint32_t *)GPFSEL1);
@@ -91,10 +76,10 @@
 
     /*
-     *  ä½ã¬ãã«åºåã®ããã®ã·ãªã¢ã«ãã¼ãã®åæå
+     *  低レベル出力のためのシリアルポートの初期化
      */
     target_low_output_init(1);
 
     /*
-     *  ãããä¾å­é¨ã®åæå
+     *  チップ依存部の初期化
      */
     chip_initialize();
@@ -102,14 +87,14 @@
 
 /*
- * ã¿ã¼ã²ããä¾å­é¨ çµäºå¦ç
+ * ターゲット依存部 終了処理
  */
 void target_exit(void)
 {
-    /* ãããä¾å­é¨ã®çµäºå¦ç */
+    /* チップ依存部の終了処理 */
     chip_terminate();
 }
 
 /*
- * ã·ã¹ãã ã­ã°ã®ä½ã¬ãã«åºåã®ããã®æå­åºå
+ * システムログの低レベル出力のための文字出力
  */
 void target_fput_log(char c)
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_config.h	(revision 386)
@@ -11,47 +11,32 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
@@ -61,17 +46,17 @@
 
 /*
- * ã¿ã¼ã²ããä¾å­é¨ã¢ã¸ã¥ã¼ã«(RPI-ARM64ç¨)
+ * ターゲット依存部モジュール(RPI-ARM64用)
  *
- * ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼
- * kernel_impl.hã®ã¿ã¼ã²ããä¾å­é¨ã®ä½ç½®ä»ãã¨ãªãï¼
+ * カーネルのターゲット依存部のインクルードファイル．
+ * kernel_impl.hのターゲット依存部の位置付けとなる．
  */
 
 /*
- * ãã¼ãã¦ã§ã¢å®ç¾©
+ * ハードウェア定義
  */
 #include "rpi_arm64.h"
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_ENABLE_TRACE
@@ -80,6 +65,6 @@
 
 /*
- *  ããã©ã«ãã®éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯é åã®å®ç¾©
- *  16byteåä½ã§åå¾ãããï¼
+ *  デフォルトの非タスクコンテキスト用のスタック領域の定義
+ *  16byte単位で取得される．
  */
 #define DEFAULT_ISTKSZ			(0x4000 / 16)		/* 16KByte */
@@ -88,12 +73,12 @@
 
 /*
- *  ã¿ã¼ã²ããã·ã¹ãã ä¾å­ã®åæå
+ *  ターゲットシステム依存の初期化
  */
 extern void	target_initialize(void);
 
 /*
- *  ã¿ã¼ã²ããã·ã¹ãã ã®çµäº
+ *  ターゲットシステムの終了
  *
- *  ã·ã¹ãã ãçµäºããæã«ä½¿ãï¼
+ *  システムを終了する時に使う．
  */
 extern void	target_exit(void) NoReturn;
@@ -102,5 +87,5 @@
 
 /*
- *  ãããä¾å­ã¢ã¸ã¥ã¼ã«
+ *  チップ依存モジュール
  */
 #include "arm64_gcc/bcm283x/chip_config.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.h	(revision 386)
@@ -8,57 +8,42 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  kernel.hã®ã¿ã¼ã²ããä¾å­é¨(RPI-ARM64ç¨)
+ *  kernel.hのターゲット依存部(RPI-ARM64用)
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼kernel.hã§ã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡
- *  ã¤ã«ããç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼ã
- *  ããåã«ï¼t_stddef.hãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼ãããã«ä¾å­ãã¦ãã
- *  ãï¼
+ *  このインクルードファイルは，kernel.hでインクルードされる．他のファ
+ *  イルから直接インクルードすることはない．このファイルをインクルード
+ *  する前に，t_stddef.hがインクルードされるので，それらに依存してもよ
+ *  い．
  */
 
@@ -67,6 +52,5 @@
 
 /*
- *  ãã­ã»ããµã§å
-±éãªå®ç¾©
+ *  プロセッサで共通な定義
  */
 #include "arm64_gcc/bcm283x/chip_kernel.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.trb
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.trb	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_kernel.trb	(revision 386)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
 #
-#    ãã¹2ã®çæã¹ã¯ãªããã®ã¿ã¼ã²ããä¾å­é¨
+#    パス2の生成スクリプトのターゲット依存部
 #
 
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.cfg
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.cfg	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.cfg	(revision 386)
@@ -1,4 +1,4 @@
 /*
- *  SIOãã©ã¤ãã®ã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *  SIOドライバのコンフィグレーションファイル
  */
 
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_serial.h	(revision 386)
@@ -8,52 +8,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  ã·ãªã¢ã«I/Oããã¤ã¹(SIO)ãã©ã¤ã
+ *  シリアルI/Oデバイス(SIO)ドライバ
  */
 
@@ -62,5 +47,5 @@
 
 /*
- *  ãããä¾å­é¨å®ç¾©
+ *  チップ依存部定義
  */
 #include "arm64_gcc/bcm283x/chip_serial.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_sil.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_sil.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_sil.h	(revision 386)
@@ -8,58 +8,42 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  sil.hã®ã¿ã¼ã²ããä¾å­é¨ï¼RPI-ARM64ï¼
+ *  sil.hのターゲット依存部（RPI-ARM64）
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼sil.hã®å
-é ­ã§ã¤ã³ã¯ã«ã¼ããããï¼ä»ã®ãã¡
- *  ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ãã®ãã¡ã¤ã«ãã¤ã³ã¯ã«ã¼
- *  ãããåã«ï¼t_stddef.hãã¤ã³ã¯ã«ã¼ããããã®ã§ï¼ãããã«ä¾å­ãã¦ã
- *  ããï¼
+ *  このインクルードファイルは，sil.hの先頭でインクルードされる．他のファ
+ *  イルからは直接インクルードすることはない．このファイルをインクルー
+ *  ドする前に，t_stddef.hがインクルードされるので，それらに依存しても
+ *  よい．
  */
 
@@ -68,6 +52,5 @@
 
 /*
- *  ãããã®å
-±éå®ç¾©
+ *  チップの共通定義
  */
 #include "arm64_gcc/bcm283x/chip_sil.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_stddef.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_stddef.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_stddef.h	(revision 386)
@@ -8,59 +8,42 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  t_stddef.hã®ã¿ã¼ã²ããä¾å­é¨(RPI-ARM64)
+ *  t_stddef.hのターゲット依存部(RPI-ARM64)
  *
- *  ãã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã¯ï¼t_stddef.hã®å
-é ­ã§ã¤ã³ã¯ã«ã¼ããããï¼
- *  ä»ã®ãã¡ã¤ã«ããã¯ç´æ¥ã¤ã³ã¯ã«ã¼ããããã¨ã¯ãªãï¼ä»ã®ã¤ã³ã¯ã«ã¼ã
- *  ãã¡ã¤ã«ã«å
-ç«ã£ã¦å¦çãããããï¼ä»ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã«ä¾å­ã
- *  ã¦ã¯ãªããªãï¼
+ *  このインクルードファイルは，t_stddef.hの先頭でインクルードされる．
+ *  他のファイルからは直接インクルードすることはない．他のインクルード
+ *  ファイルに先立って処理されるため，他のインクルードファイルに依存し
+ *  てはならない．
  */
 
@@ -69,12 +52,11 @@
 
 /*
- *  ã¿ã¼ã²ãããè­å¥ããããã®ãã¯ã­ã®å®ç¾©
+ *  ターゲットを識別するためのマクロの定義
  */
-#define TOPPERS_RPI_ARM64			/* ã·ã¹ãã ç¥ç§° */
+#define TOPPERS_RPI_ARM64			/* システム略称 */
 
 
 /*
- *  éçºç°å¢ã§å
-±éãªå®ç¾©
+ *  開発環境で共通な定義
  */
 #define TOPPERS_STDFLOAT_TYPE1
@@ -82,6 +64,5 @@
 
 /*
- *  ãã­ã»ããµã§å
-±éãªå®ç¾©
+ *  プロセッサで共通な定義
  */
 #include "arm64_gcc/bcm283x/chip_stddef.h"
@@ -90,5 +71,5 @@
 
 /*
- *  ã¢ãµã¼ã·ã§ã³ã®å¤±ææã®å®è¡ä¸­æ­å¦ç
+ *  アサーションの失敗時の実行中断処理
  */
 Inline void
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_syssvc.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_syssvc.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_syssvc.h	(revision 386)
@@ -8,54 +8,39 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾å­é¨(RPI-ARM64ç¨)
+ *  システムサービスのターゲット依存部(RPI-ARM64用)
  *
- *  ã·ã¹ãã ãµã¼ãã¹ã®ã¿ã¼ã²ããä¾å­é¨ã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ï¼
+ *  システムサービスのターゲット依存部のインクルードファイル．
  */
 
@@ -64,5 +49,5 @@
 
 /*
- *  ãã¬ã¼ã¹ã­ã°ã«é¢ããè¨­å®
+ *  トレースログに関する設定
  */
 #ifdef TOPPERS_TRACE_ENABLE
@@ -71,11 +56,11 @@
 
 /*
- *  èµ·åã¡ãã»ã¼ã¸ã®ã¿ã¼ã²ããã·ã¹ãã å
+ *  起動メッセージのターゲットシステム名
  */
 #define TARGET_NAME    "RPI_ARM64"
 
 /*
- *  èµ·åã¡ãã»ã¼ã¸ã«ã¿ã¼ã²ããä¾å­é¨ã®èä½æ¨©è¡¨ç¤ºã
- *  è¿½å ããããã®ãã¯ã­ï¼
+ *  起動メッセージにターゲット依存部の著作権表示を
+ *  追加するためのマクロ．
  */
 #ifdef PRC_COPYRIGHT
@@ -84,12 +69,12 @@
 
 /*
- *  ã·ã¹ãã ã­ã°ã®ä½ã¬ãã«åºåã®ããã®æå­åºå
+ *  システムログの低レベル出力のための文字出力
  *
- *  ã¿ã¼ã²ããä¾å­ã®æ¹æ³ã§ï¼æå­cãè¡¨ç¤º/åºå/ä¿å­ããï¼
+ *  ターゲット依存の方法で，文字cを表示/出力/保存する．
  */
 extern void	target_fput_log(char c);
 
 /*
- *  ãµãã¼ãããã·ãªã¢ã«ãã¼ãã®æ°
+ *  サポートするシリアルポートの数
  */
 #define TNUM_PORT        (1)
@@ -97,5 +82,5 @@
 
 /*
- *  ä½¿ç¨ããã·ãªã¢ã«ãã¼ãID
+ *  使用するシリアルポートID
  */
 #define SIO_PORTID		(1)
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_test.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_test.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_test.h	(revision 386)
@@ -8,52 +8,37 @@
  *              Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *    ãã¹ããã­ã°ã©ã ã®ã¿ã¼ã²ããä¾å­å®ç¾©(RPI-ARM64)
+ *    テストプログラムのターゲット依存定義(RPI-ARM64)
  */
 
@@ -65,10 +50,10 @@
 
 /*
- *  ä½¿ç¨ããã·ãªã¢ã«ãã¼ãID
+ *  使用するシリアルポートID
  */
 #define TASK_PORTID      (1)
 
 /*
- *  ãããä¾å­ã¢ã¸ã¥ã¼ã«(BCM2837ç¨)
+ *  チップ依存モジュール(BCM2837用)
  */
 #include "arm64_gcc/bcm283x/chip_test.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.cfg
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.cfg	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.cfg	(revision 386)
@@ -1,4 +1,4 @@
 /*
- *  ã¿ã¤ããã©ã¤ãã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¡ã¤ã«
+ *  タイマドライバのコンフィギュレーションファイル
  */
 
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.h
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.h	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_timer.h	(revision 386)
@@ -8,52 +8,37 @@
  *             Nagoya Municipal Industrial Research Institute, JAPAN
  *
- *  ä¸è¨èä½æ¨©è
-ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
- *  ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ãä½¿ç¨ã»è¤è£½ã»æ¹
- *  å¤ã»åé
-å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
- *  (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
- *      æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
- *      ã¹ã³ã¼ãä¸­ã«å«ã¾ãã¦ãããã¨ï¼
- *  (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨
- *      è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
- *      ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *  (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
- *      ç¨ã§ããªãå½¢ã§åé
-å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
- *      ã¨ï¼
- *    (a) åé
-å¸ã«ä¼´ããã­ã¥ã¡ã³ãï¼å©ç¨è
-ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
- *        ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
- *    (b) åé
-å¸ã®å½¢æ
-ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSãã­ã¸ã§ã¯ãã«
- *        å ±åãããã¨ï¼
- *  (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
- *      å®³ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ããå
-è²¬ãããã¨ï¼
- *      ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
- *      ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
-ããã³TOPPERSãã­ã¸ã§ã¯ãã
- *      å
-è²¬ãããã¨ï¼
+ *  上記著作権者は，以下の(1)〜(4)の条件を満たす場合に限り，本ソフトウェ
+ *  ア（本ソフトウェアを改変したものを含む．以下同じ）を使用・複製・改
+ *  変・再配布（以下，利用と呼ぶ）することを無償で許諾する．
+ *  (1) 本ソフトウェアをソースコードの形で利用する場合には，上記の著作
+ *      権表示，この利用条件および下記の無保証規定が，そのままの形でソー
+ *      スコード中に含まれていること．
+ *  (2) 本ソフトウェアを，ライブラリ形式など，他のソフトウェア開発に使
+ *      用できる形で再配布する場合には，再配布に伴うドキュメント（利用
+ *      者マニュアルなど）に，上記の著作権表示，この利用条件および下記
+ *      の無保証規定を掲載すること．
+ *  (3) 本ソフトウェアを，機器に組み込むなど，他のソフトウェア開発に使
+ *      用できない形で再配布する場合には，次のいずれかの条件を満たすこ
+ *      と．
+ *    (a) 再配布に伴うドキュメント（利用者マニュアルなど）に，上記の著
+ *        作権表示，この利用条件および下記の無保証規定を掲載すること．
+ *    (b) 再配布の形態を，別に定める方法によって，TOPPERSプロジェクトに
+ *        報告すること．
+ *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
+ *      害からも，上記著作権者およびTOPPERSプロジェクトを免責すること．
+ *      また，本ソフトウェアのユーザまたはエンドユーザからのいかなる理
+ *      由に基づく請求からも，上記著作権者およびTOPPERSプロジェクトを
+ *      免責すること．
  *
- *  æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
-ã
- *  ãã³TOPPERSãã­ã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
- *  ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
- *  ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæå®³ã«é¢ãã¦ãï¼ã
- *  ã®è²¬ä»»ãè² ããªãï¼
+ *  本ソフトウェアは，無保証で提供されているものである．上記著作権者お
+ *  よびTOPPERSプロジェクトは，本ソフトウェアに関して，特定の使用目的
+ *  に対する適合性も含めて，いかなる保証も行わない．また，本ソフトウェ
+ *  アの利用により直接的または間接的に生じたいかなる損害に関しても，そ
+ *  の責任を負わない．
  *
  */
 
 /*
- *  ã¿ã¤ããã©ã¤ã(RPI-ARM64ç¨)
+ *  タイマドライバ(RPI-ARM64用)
  */
 
@@ -62,12 +47,11 @@
 
 /*
- *  ã¿ã¤ãå²è¾¼ã¿ãã³ãã©ç»é²ã®ããã®å®æ°
+ *  タイマ割込みハンドラ登録のための定数
  */
-#define INTPRI_TIMER    (-6)          /* å²è¾¼ã¿åªå
-åº¦ */
-#define INTATR_TIMER    TA_NULL       /* å²è¾¼ã¿å±æ§ */
+#define INTPRI_TIMER    (-6)          /* 割込み優先度 */
+#define INTATR_TIMER    TA_NULL       /* 割込み属性 */
 
 /*
- *  ãããä¾å­é¨ã®å®ç¾©
+ *  チップ依存部の定義
  */
 #include "arm64_gcc/bcm283x/chip_timer.h"
Index: /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_user.txt
===================================================================
--- /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_user.txt	(revision 385)
+++ /ssp_rpi3/trunk/target/rpi_arm64_gcc/target_user.txt	(revision 386)
@@ -1,79 +1,73 @@
 =====================================================================
-                 RPI-ARM64ã¿ã¼ã²ããä¾å­é¨ (ssp-1.3.0å¯¾å¿ï¼
+                 RPI-ARM64ターゲット依存部 (ssp-1.3.0対応）
                                Last Modified: '19/04/16
 =====================================================================
 
-(1) æ¦è¦
-
-RPI-ARM64ã¿ã¼ã²ããä¾å­é¨ã¯ï¼ãã­ã»ããµã«BCM2837(Cortex-A53ã³ã¢)ãæ­è¼ãã
-Raspberry Pi3B ãã¼ãããµãã¼ããã¦ããï¼
-
-
-(2) ã«ã¼ãã«ã®ä½¿ç¨ãªã½ã¼ã¹
-
-  ã»RAM
-     ã³ã¼ãããã³ãã¼ã¿ãé
-ç½®ããï¼
-     ä½¿ç¨éã¯ãªãã¸ã§ã¯ãæ°ã«ä¾å­ããï¼
-  ã»Generic Timer
-     ã«ã¼ãã«å
-é¨ã®ãã£ãã¯ã®çæã«ç¨ããï¼
-  ã»UART0 (PL011)
-     ã³ã³ã½ã¼ã«ã®åºåã«ä½¿ç¨
-
-
-(3) éçºç°å¢
-
-å®è¡ãã¡ã¤ã«ã®æ§ç¯ã«ã¯GCCéçºç°å¢ãç¨ãã(åä½ç¢ºèªãã¼ã¸ã§ã³: 7.2.1)
-GCC ã¯ä»¥ä¸ã®ãµã¤ããããã¤ããªããã±ã¼ã¸ããã¦ã³ã­ã¼ããããã¨ãã§ããï¼
+(1) 概要
+
+RPI-ARM64ターゲット依存部は，プロセッサにBCM2837(Cortex-A53コア)を搭載した
+Raspberry Pi3B ボードをサポートしている．
+
+
+(2) カーネルの使用リソース
+
+  ・RAM
+     コードおよびデータを配置する．
+     使用量はオブジェクト数に依存する．
+  ・Generic Timer
+     カーネル内部のティックの生成に用いる．
+  ・UART0 (PL011)
+     コンソールの出力に使用
+
+
+(3) 開発環境
+
+実行ファイルの構築にはGCC開発環境を用いた(動作確認バージョン: 7.2.1)
+GCC は以下のサイトからバイナリパッケージをダウンロードすることができる．
   https://releases.linaro.org/components/toolchain/binaries/
 
 
-(4) ãããã°ç°å¢
-
-ãããã°ç°å¢ã¨ãã¦ï¼QEMUã®GDBãµã¼ãæ©è½ãå©ç¨ãã¦ï¼GDBã«ãããããã°ãå¯è½.
-ãã ãRaspberry Pi3 ã®ã¨ãã¥ã¬ã¼ã·ã§ã³ããµãã¼ãããqemuã¯2.12ä»¥éãä½¿ç¨ããå¿
-è¦ãããï¼
-
-
-(5) å®è¡ç°å¢
-
-å®è¡ãã¡ã¤ã«ãå«ãï¼èµ·åã«å¿
-è¦ãªä»¥ä¸ã®ãã¡ã¤ã«ãFAT32ãã©ã¼ãããããã
-ãã¤ã¯ã­SDã«ã¼ãã®ã«ã¼ãç´ä¸ã«ã³ãã¼ãï¼Raspberry Pi ã§èµ·åããï¼
+(4) デバッグ環境
+
+デバッグ環境として，QEMUのGDBサーバ機能を利用して，GDBによるデバッグが可能.
+ただしRaspberry Pi3 のエミュレーションをサポートするqemuは2.12以降を使用する必要がある．
+
+
+(5) 実行環境
+
+実行ファイルを含む，起動に必要な以下のファイルをFAT32フォーマットされた
+マイクロSDカードのルート直下にコピーし，Raspberry Pi で起動する．
 
 (5-1) bootcode.bin, start.elf
-   ä»¥ä¸ãã¼ã¸ãã bootcode.binã¨start.elfããã¦ã³ã­ã¼ãããï¼
+   以下ページから bootcode.binとstart.elfをダウンロードする．
    https://github.com/raspberrypi/firmware/tree/master/boot
-  (ä¸è¨ã¯masterãã©ã³ãä»å±ã®ãã¡ã¤ã«ã§ãããï¼å¥ãã©ã³ãã®ååãã¡ã¤ã«ãé¸æãã¦ããã)
-
-(5-2) å®è¡ãã¡ã¤ã«
-   å®è¡ãã¡ã¤ã«ã®ãã¤ããªã¤ã¡ã¼ã¸ãä½¿ç¨ããï¼
-   ãã¤ããªã¤ã¡ã¼ã¸ã¯ãmake ssp.binããå®è¡ããã¨çæãããï¼
-   ãã¡ã¤ã«åã kernel.img ã¾ãã¯ kernel8.img ã«ãã¦ããã¨èªåçã«èª­ã¿è¾¼ã¾ããï¼
+  (上記はmasterブランチ付属のファイルであるが，別ブランチの同名ファイルを選択してもよい)
+
+(5-2) 実行ファイル
+   実行ファイルのバイナリイメージを使用する．
+   バイナリイメージは「make ssp.bin」を実行すると生成される．
+   ファイル名を kernel.img または kernel8.img にしておくと自動的に読み込まれる．
 
 (5-3) config.txt
-   èµ·åè¨­å®ãæå®ããããã®ãã­ã¹ããã¡ã¤ã«ï¼
-   ãããããï¼ä»¥ä¸ã®3è¡ãå«ããã­ã¹ããã¡ã¤ã«ãä½æããã°è¯ã
+   起動設定を指定するためのテキストファイル．
+   さしあたり，以下の3行を含むテキストファイルを作成すれば良い
       arm_control=0x200
       kernel_old=1
       disable_commandline_tags=1
-   ããã«å ãï¼å®è¡ãã¡ã¤ã«åã kernel.img, kernel8.img ä»¥å¤ã§ã³ãã¼ããå ´åã¯
-   ãã¡ã¤ã«ãæå®ããããã®è¡ãè¿½å ãã¦ããï¼
+   これに加え，実行ファイル名を kernel.img, kernel8.img 以外でコピーした場合は
+   ファイルを指定するための行を追加しておく．
       kernel=ssp.bin
 
-  ãã®ä»ï¼config.txt ã®å
-å®¹ã«ã¤ãã¦è©³ããã¯ä»¥ä¸ãåç
-§ã®ãã¨ï¼
+  この他，config.txt の内容について詳しくは以下を参照のこと．
   https://www.raspberrypi.org/documentation/configuration/config-txt/
 
-(6) QEMUãç¨ããåä½ç¢ºèª
-
-(6-1) QEMUãç¨ããå®è¡ç¢ºèª
-
-QEMUãç¨ãã¦å®è¡ãã¡ã¤ã«ãåããå ´åï¼ä»¥ä¸ã®ããã«ã³ãã³ããå®è¡ããï¼
-ããã§å®è¡ãã¡ã¤ã«åã ssp ã¨ãã
-
-(å®è¡ä¾)
+(6) QEMUを用いた動作確認
+
+(6-1) QEMUを用いた実行確認
+
+QEMUを用いて実行ファイルを動かす場合，以下のようにコマンドを実行する．
+ここで実行ファイル名を ssp とする
+
+(実行例)
 $ qemu-system-aarch64 -M raspi3 -display none -serial stdio -kernel ssp
 
@@ -86,32 +80,30 @@
 Sample program starts.
 
-(ããã§ï¼ã1ããaãã¨ã¿ã¤ããã)
+(ここで，「1」「a」とタイプする)
 
 #act_tsk(1)
 task1 is running (001).   |
 task1 is running (002).   |
-(ä»¥ä¸ç¥)
-
-
-(6-2) GDBã«ãããããã°æé 
-
-GDBãç¨ãããããã°ãè¡ãå ´åï¼ã·ã§ã«ã2ã¤ç¨æããï¼
-ä¸ã¤ã¯qemuãèµ·åãGDBãµã¼ãã¨ãã¦èµ·åããï¼
-
-(1ã¤ç®ã®ã·ã§ã«)
+(以下略)
+
+
+(6-2) GDBによるデバッグ手順
+
+GDBを用いたデバッグを行う場合，シェルを2つ用意する．
+一つはqemuを起動しGDBサーバとして起動する．
+
+(1つ目のシェル)
 $ qemu-system-aarch64 -M raspi3 -display none -serial stdio -s -S
 
-ããã§ localhost:1234 ã§GDBãµã¼ããæ¥ç¶ãå¾
-ã¡åããç¶æ
-ã«ãªãï¼
-
-ããä¸ã¤ã®ã·ã§ã«ã§GDBãèµ·åãï¼GDBãµã¼ãã«æ¥ç¶ããï¼
-
-(2ã¤ç®ã®ã·ã§ã«)
+これで localhost:1234 でGDBサーバが接続を待ち受ける状態になる．
+
+もう一つのシェルでGDBを起動し，GDBサーバに接続する．
+
+(2つ目のシェル)
 $ aarch-elf-gdb ssp
 (gdb)
 
-ããã§åç¨®ã®è¨­å®ï¼ãµã¼ãã¸ã®æ¥ç¶ï¼ã­ã¼ããè¡ãã¨ã¹ããããå®è¡ç­ã®
-ãããã°åä½ãè¡ããã¨ãã§ããï¼
+ここで各種の設定，サーバへの接続，ロードを行うとステップや実行等の
+デバッグ動作を行うことができる．
 
 (gdb) set architecture aarch64
@@ -135,118 +127,103 @@
 Continuing.
 
-'c' ã³ãã³ãã§å®è¡ãç¶ç¶ããã¨ï¼GDBãµã¼ãå´ã®ç»é¢ã«ã·ãªã¢ã«ã¡ãã»ã¼ã¸ãè¡¨ç¤ºãããï¼
-ã­ã¼å
-¥åããµã¼ãå´ã®ã·ã§ã«ç»é¢ã§è¡ãï¼
-
-'c' ã³ãã³ãã«ããç¶ç¶ä¸­ã®å®è¡ãåæ­¢ããå ´åã¯Ctrl-Cã§çµäºããï¼
-gdb ãçµäºããå ´åã¯ãã­ã³ããã§'q'ã³ãã³ããå®è¡ãã¦çµäºããï¼
-
-
-(7) ã¿ã¼ã²ããä¾å­é¨ã®å®è£
-
-
-(7-1) ã¿ã¼ã²ããç¥ç§°
-
-ã·ã¹ãã ç¥ç§°åã³ã¿ã¼ã²ããç¥ç§°ã¯ä»¥ä¸ã®éãï¼
-
-ã·ã¹ãã ç¥ç§°: rpi_arm64
-ã¿ã¼ã²ããç¥ç§°: rpi_arm64_gcc ã§ãã
-
-
-(7-2) å²è¾¼ã¿åªå
-åº¦ã®ç¯å²
-
-BCM2837ã®å²è¾¼ã¿ã³ã³ãã­ã¼ã©ã¯åªå
-åº¦å¶å¾¡ã®æ©è½ãæããªããã
-ã½ããã¦ã§ã¢ã§æ¬ä¼¼çã«å®è£
-ãã¦ããï¼ãã®ãã
-å²è¾¼ã¿åªå
-åº¦ã¯ç¬èªã«æå®å¯è½ã§ããï¼ãããä¾å­é¨ã§ã¯æ¢å®å¤ã¨ãã¦ -15 ã -1 ã«å®ç¾©ãã¦ããï¼
-
-å²è¾¼ã¿åªå
-åº¦ã®æé«å¤(å¤ã¨ãã¦ã¯æå°å¤)ãã¿ã¼ã²ããä¾å­é¨ã§ç¬èªã«å®ç¾©ããå ´åï¼
-target_kernel.h ã« TMIN_INTPRI ããã¯ã­å®ç¾©ããï¼
-
-
-(7-3) ã¿ã¤ã ãã£ãã¯ã®å®ç¾©
-
-TIC_NUMEããã³TIC_DENOã®å¤ã¯æ¢å®å¤ã¨ãã¦ã³ã¢ä¾å­é¨ã§å
-±ã«1ã«å®ç¾©ãã¦ããï¼
-ã¿ã¼ã²ããä¾å­é¨ã§ç¬èªã«å®ç¾©ããå ´åã¯ target_kernel.h ã«ãã¯ã­å®ç¾©ããï¼
-
-(7-4) ã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã®åæåå
-å®¹
-
-Raspberry Pi ã®å ´åï¼ä»¥ä¸ã®ç¶æ
-ã§ã·ã¹ãã ãéå§ããï¼
-ã»ä¾å¤ã¬ãã«ï¼EL3
-ã»ä½¿ç¨ã¹ã¿ãã¯: SP_EL3 (EL3h)
-ã»ã¹ãã¼ã¿ã¹ã¬ã¸ã¹ã¿ã®Fãããåã³Iãããã¯1ï¼IRQ,FIQç¦æ­¢ï¼
-
-ãã®ããã¹ã¿ã¼ãã¢ããã«ã¼ãã³ã§ã¯ï¼ä»¥ä¸ã®å¦çãè¡ãªã£ãå¾ï¼sta_ker ãå¼ã³åºãï¼
-ã»EL3h(AArch64)ããEL1h(AArch64)ã¸ã®ç§»è¡
-ã»ã¹ã¿ãã¯ãã¤ã³ã¿åã³ãã¬ã¼ã ãã¤ã³ã¿ã®åæå
-ã»ãã¯ã¿ãã¼ãã«ã¢ãã¬ã¹ã®è¨­å®
-ã»bssã»ã¯ã·ã§ã³ã®ã¯ãªã¢
-
-
-(7-5) ã³ã³ã½ã¼ã«åºå
-
-ã³ã³ã½ã¼ã«åºåã«ã¯ PrimeCell UART (PL011)ãä½¿ç¨ããï¼
-ä»¥ä¸ã®éä¿¡ãã©ã¼ããããä½¿ç¨ããï¼
-  ã»115200bps, Data 8bit, Parity none, Stop 1bit, Flowå¶å¾¡ãªã
-
-
-(8) åãã¡ã¤ã«ã§ã®è¨­å®é 
-ç®(å¿
-è¦ã«å¿ãã¦ï¼å®ç¾©ãç·¨éãã)
+'c' コマンドで実行を継続すると，GDBサーバ側の画面にシリアルメッセージが表示される．
+キー入力もサーバ側のシェル画面で行う．
+
+'c' コマンドによる継続中の実行を停止する場合はCtrl-Cで終了する．
+gdb を終了する場合はプロンプトで'q'コマンドを実行して終了する．
+
+
+(7) ターゲット依存部の実装
+
+(7-1) ターゲット略称
+
+システム略称及びターゲット略称は以下の通り．
+
+システム略称: rpi_arm64
+ターゲット略称: rpi_arm64_gcc である
+
+
+(7-2) 割込み優先度の範囲
+
+BCM2837の割込みコントローラは優先度制御の機能を持たないため
+ソフトウェアで擬似的に実装している．そのため
+割込み優先度は独自に指定可能である．チップ依存部では既定値として -15 〜 -1 に定義している．
+
+割込み優先度の最高値(値としては最小値)をターゲット依存部で独自に定義する場合，
+target_kernel.h に TMIN_INTPRI をマクロ定義する．
+
+
+(7-3) タイムティックの定義
+
+TIC_NUMEおよびTIC_DENOの値は既定値としてコア依存部で共に1に定義している．
+ターゲット依存部で独自に定義する場合は target_kernel.h にマクロ定義する．
+
+(7-4) スタートアップルーチンでの初期化内容
+
+Raspberry Pi の場合，以下の状態でシステムが開始する．
+・例外レベル：EL3
+・使用スタック: SP_EL3 (EL3h)
+・ステータスレジスタのFビット及びIビットは1（IRQ,FIQ禁止）
+
+そのためスタートアップルーチンでは，以下の処理を行なった後，sta_ker を呼び出す．
+・EL3h(AArch64)からEL1h(AArch64)への移行
+・スタックポインタ及びフレームポインタの初期化
+・ベクタテーブルアドレスの設定
+・bssセクションのクリア
+
+
+(7-5) コンソール出力
+
+コンソール出力には PrimeCell UART (PL011)を使用する．
+以下の通信フォーマットを使用する．
+  ・115200bps, Data 8bit, Parity none, Stop 1bit, Flow制御なし
+
+
+(8) 各ファイルでの設定項目(必要に応じて，定義を編集する)
 
 (8-1) Makefile.target
 
-ã»GCC_TARGET
-    GCCã® target triplet ãå®ç¾©
-ã»COPTS
-    Cã³ã³ãã¤ã©ã¸ã®ãªãã·ã§ã³
-ã»CDEFS
-    è¿½å ã®ãã¯ã­å®ç¾©
-ã»INCLUDES
-    ã¤ã³ã¯ã«ã¼ãæå®
-ã»LDFLAGS
-    ãªã³ã«ã¸ã®ãªãã·ã§ã³
-ã»LIBS
-    ãªã³ã¯ããã©ã¤ãã©ãª
-
-ã»TEXT_START_ADDRESS
-    ãã­ã¹ãã»ã¯ã·ã§ã³ã®éå§ã¢ãã¬ã¹
+・GCC_TARGET
+    GCCの target triplet を定義
+・COPTS
+    Cコンパイラへのオプション
+・CDEFS
+    追加のマクロ定義
+・INCLUDES
+    インクルード指定
+・LDFLAGS
+    リンカへのオプション
+・LIBS
+    リンクするライブラリ
+
+・TEXT_START_ADDRESS
+    テキストセクションの開始アドレス
 
 (8-2) target_config.h
 
-ã»DEFAULT_ISTKSZ
-    ããã©ã«ãã®éã¿ã¹ã¯ã³ã³ãã­ã¹ãç¨ã®ã¹ã¿ãã¯ãµã¤ãº
+・DEFAULT_ISTKSZ
+    デフォルトの非タスクコンテキスト用のスタックサイズ
 
 (8-4) target_kernel.h
 
-ã»TMIN_INTPRI
-    å²è¾¼ã¿åªå
-åº¦ã®æé«å¤(æå°å¤)
-ã»TIC_NUME, TIC_DENO
-    ã¿ã¤ã ãã£ãã¯ã®å¨æã®åå­ï¼åæ¯
+・TMIN_INTPRI
+    割込み優先度の最高値(最小値)
+・TIC_NUME, TIC_DENO
+    タイムティックの周期の分子，分母
 
 (8-3) target_test.h
 
-ã»STACK_SIZE
-    ãµã³ãã«ãã­ã°ã©ã ã®ã¿ã¹ã¯ã®ã¹ã¿ãã¯ãµã¤ãº
-ã»ALL_STACKSIZE
-    å
-±æã¹ã¿ãã¯é åã®ãµã¤ãº
+・STACK_SIZE
+    サンプルプログラムのタスクのスタックサイズ
+・ALL_STACKSIZE
+    共有スタック領域のサイズ
 
 (8-4) target_timer.h
-ã»INTPRI_TIMER
-    ã¿ã¤ãã¼ã®å²è¾¼ã¿åªå
-åº¦
-ã»INTATR_TIMER
-    ã¿ã¤ãã¼ã®å²è¾¼ã¿å±æ§
-
-âå¤æ´å±¥æ­´
- ã»2019/04/16
-ããæ°è¦ä½æ
+・INTPRI_TIMER
+    タイマーの割込み優先度
+・INTATR_TIMER
+    タイマーの割込み属性
+
+○変更履歴
+ ・2019/04/16
+　　新規作成
