Ignore:
Timestamp:
Apr 17, 2019, 12:13:00 PM (5 years ago)
Author:
nmir-saito
Message:

modify svn:mimetype of files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_rpi3/trunk/arch/arm64_gcc/common/core_user.txt

    • Property svn:mime-type set to text/plain; charset=utf-8
    r384 r386  
    11=====================================================================
    2                          ARM64プロセッサ依存部
     2                         ARM64プロセッサ依存部
    33                                  Last Modified: '19/04/16
    44=====================================================================
    55
    66
    7 (1) 対応しているターゲットシステムの種類・構成
     7(1) 対応しているターゲットシステムの種類・構成
    88
    9 ARM64依存部は,ARMv8-A アーキテクチャをターゲットとしている.ARMv8-A は
    10 64ビットアーキテクチャであり命令セットレベルでもARMとは異なるため,
    11 ARM依存部と分けている.
     9ARM64依存部は,ARMv8-A アーキテクチャをターゲットとしている.ARMv8-A は
     1064ビットアーキテクチャであり命令セットレベルでもARMとは異なるため,
     11ARM依存部と分けている.
    1212
    13 ã‚³ã‚¢ç•¥ç§°ç­‰ã¯æ¬¡ã®é€šã‚Šï¼Ž
     13コア略称等は次の通り.
    1414
    15         コア略称:arm64
    16         開発環境略称:gcc
     15        コア略称:arm64
     16        開発環境略称:gcc
    1717
    18 (2) 使用する開発環境と動作検証した条件(バージョン,オプション等)
     18(2) 使用する開発環境と動作検証した条件(バージョン,オプション等)
    1919
    20 ã‚«ãƒ¼ãƒãƒ«ã¯GCCを用いてコンパイルする.動作確認したバージョンは各ターゲ
    21 ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«è¨˜è¼‰ã™ã‚‹ï¼Ž
     20カーネルはGCCを用いてコンパイルする.動作確認したバージョンは各ターゲ
     21ット依存部のドキュメントに記載する.
    2222
    23 (3) ターゲット定義事é 
    24 ã®è¦å®š
     23(3) ターゲット定義事項の規定
    2524
    26 (3-1) データ型に関する規定
     25(3-1) データ型に関する規定
    2726
    28 ãƒ‡ãƒ¼ã‚¿åž‹ã¯ arch/gcc/tool_stddef.h で定義されているå†
    29 å®¹ã§ï¼Œfloat型と
    30 double型は,それぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点
    31 æ•°ã§ã‚る.
     27データ型は arch/gcc/tool_stddef.h で定義されている内容で,float型と
     28double型は,それぞれIEEE754準拠の単精度浮動小数点数と倍精度浮動小数点
     29数である.
    3230
    33 ã“のほか,スタック領域を確保するためのデータ型のために
    34 int128_t および uint128_t を定義している.
     31このほか,スタック領域を確保するためのデータ型のために
     32int128_t および uint128_t を定義している.
    3533
    36 (3-2) 割込み処理に関する規定
     34(3-2) 割込み処理に関する規定
    3735
    38 ãƒãƒƒãƒ—に搭載される割込みコントローラにより異なる.
    39 ãã®ãŸã‚ï¼Œä»¥ä¸‹ã®äº‹é 
    40 ã«ã¤ã„てはチップ依存部に記載する.
     36チップに搭載される割込みコントローラにより異なる.
     37そのため,以下の事項についてはチップ依存部に記載する.
    4138
    42 ãƒ»å‰²è¾¼ã¿ãƒãƒ³ãƒ‰ãƒ©ç•ªå·ã¨å‰²è¾¼ã¿ç•ªå·ã®å‰²å½“て,両è€
    43 ã®å¯¾å¿œ
    44 ãƒ»å‰²è¾¼ã¿å„ªå
    45 ˆåº¦ã®æ®µéšŽæ•°ï¼ˆTMIN_INTPRIの値),その設定方法
    46 ãƒ»dis_intとena_intのサポートの有無,その制限事é 
     39・割込みハンドラ番号と割込み番号の割当て,両者の対応
     40・割込み優先度の段階数(TMIN_INTPRIの値),その設定方法
     41・dis_intとena_intのサポートの有無,その制限事項
     42・CFG_INTの制限事項と拡張(ターゲット定義で使用できる割込み属性)
     43・カーネル管理外の割込み
    4744
    48 ãƒ»CFG_INTの制限事é 
    49 ã¨æ‹¡å¼µï¼ˆã‚¿ãƒ¼ã‚²ãƒƒãƒˆå®šç¾©ã§ä½¿ç”¨ã§ãã‚‹å‰²è¾¼ã¿å±žæ€§ï¼‰
    50 ãƒ»ã‚«ãƒ¼ãƒãƒ«ç®¡ç†å¤–の割込み
     45(3-3) CPU例外処理に関する規定
    5146
    52 (3-3) CPU例外処理に関する規定
     47・CPU例外ハンドラ番号
    5348
    54 ãƒ»CPU例外ハンドラ番号
     49Synchronous例外およびSError例外をCPU例外として扱う.
    5550
    56 Synchronous例外およびSError例外をCPU例外として扱う.
     51ARMv8では,例外発生時の例外レベル(EL),使用スタック,実行状態(AArch32 or AArch64),
     52発生した例外の種類により,ジャンプ先となる例外ベクタ中のオフセットアドレスが異なる.
     53CPU例外ハンドラはこのジャンプ先のオフセットアドレスで区別することにし,
     54それぞれ異なるCPU例外ハンドラ番号を割り当てる.
    5755
    58 ARMv8では,例外発生時の例外レベル(EL),使用スタック,実行状æ
    59 ‹(AArch32 or AArch64),
    60 ç™ºç”Ÿã—た例外の種類により,ジャンプå
    61 ˆã¨ãªã‚‹ä¾‹å¤–ベクタ中のオフセットアドレスが異なる.
    62 CPU例外ハンドラはこのジャンプå
    63 ˆã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã‚¢ãƒ‰ãƒ¬ã‚¹ã§åŒºåˆ¥ã™ã‚‹ã“とにし,
    64 ãã‚Œãžã‚Œç•°ãªã‚‹CPU例外ハンドラ番号を割り当てる.
    65 
    66   例外発生時の状æ
    67 ‹             ä¾‹å¤–の種類      例外番号  例外ベクタå
    68 ˆé ­ã‹ã‚‰ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ
     56  例外発生時の状態             例外の種類      例外番号  例外ベクタ先頭からのオフセット
    6957  AArch64, EL1t(EL1, SP_EL0)  Synchronous         0        0x0000
    7058  AArch64, EL1t(EL1, SP_EL0)  SError              1        0x0180
     
    7765
    7866
    79 (3-4) CPUロック・割込みロック
     67(3-4) CPUロック・割込みロック
    8068
    81 ãƒãƒƒãƒ—により実è£
    82 æ–¹æ³•ãŒç•°ãªã‚‹ãŸã‚ï¼Œãƒãƒƒãƒ—依存部に記載する.
     69チップにより実装方法が異なるため,チップ依存部に記載する.
    8370
    8471
    85 (3-5) 性能評価用システム時刻の参ç
    86 §ã«é–¢ã™ã‚‹è¦å®š
     72(3-5) 性能評価用システム時刻の参照に関する規定
    8773
    88 ã‚·ã‚¹ãƒ†ãƒ ã«ã‚ˆã£ã¦ç•°ãªã‚‹ãŸã‚ãƒãƒƒãƒ—依存部またはターゲット依存部のドキュメントで記載する.
     74システムによって異なるためチップ依存部またはターゲット依存部のドキュメントで記載する.
    8975
    9076
    91 (3-6) スタートアップルーチンでの初期化å†
    92 å®¹
     77(3-6) スタートアップルーチンでの初期化内容
    9378
    94 ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—ルーチンが前提とするプロセッサの状æ
    95 ‹ã¯ã‚·ã‚¹ãƒ†ãƒ ã«ã‚ˆã‚Šç•°ãªã‚‹ãŸã‚ï¼Œ
    96 ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—ルーチンはターゲット依存部のドキュメントに記載する.
     79スタートアップルーチンが前提とするプロセッサの状態はシステムにより異なるため,
     80スタートアップルーチンはターゲット依存部のドキュメントに記載する.
    9781
    98 (4) タイマドライバ関連のæƒ
    99 å ±
     82(4) タイマドライバ関連の情報
    10083
    101 ã‚«ãƒ¼ãƒãƒ«ã®ã‚¿ã‚¤ãƒ ãƒ†ã‚£ãƒƒã‚¯ã¨ã—て,Generic Timer を使用する,
    102 ãƒ†ã‚£ãƒƒã‚¯å‘¨æœŸã¯1msecとする.またTIC_DENO及びTIC_NUMEの既定値として1に定義する.
     84カーネルのタイムティックとして,Generic Timer を使用する,
     85ティック周期は1msecとする.またTIC_DENO及びTIC_NUMEの既定値として1に定義する.
    10386
    10487
    105 (5) ターゲット依存部での設定可能é 
    106 ç›®
     88(5) ターゲット依存部での設定可能項目
    10789
    108 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã§ã¯ä»¥ä¸‹ã®ãƒžã‚¯ãƒ­ã‚’定義する.
    109 ã„くつかはプロセッサの依存部において既定値が定義されている.
     90ターゲット依存部では以下のマクロを定義する.
     91いくつかはプロセッサの依存部において既定値が定義されている.
    11092
    111    ãƒ»TMIN_INTPRI    : 割込み優å
    112 ˆåº¦ã®æœ€å°å€¤ï¼ˆæœ€é«˜å€¤ï¼‰
    113    ãƒ»TIC_NUME       : タイムティックの周期の分子
    114    ãƒ»TIC_DENO       : タイムティックの周期の分母
    115    ãƒ»INTPRI_TIMER   : タイマ割込み優å
    116 ˆåº¦
    117    ãƒ»INTATR_TIMER   : タイマ割込みの割込み属性
    118    ãƒ»DEFAULT_ISTKSZ : スタックサイズ(16byte単位で指定)
     93   ・TMIN_INTPRI    : 割込み優先度の最小値(最高値)
     94   ・TIC_NUME       : タイムティックの周期の分子
     95   ・TIC_DENO       : タイムティックの周期の分母
     96   ・INTPRI_TIMER   : タイマ割込み優先度
     97   ・INTATR_TIMER   : タイマ割込みの割込み属性
     98   ・DEFAULT_ISTKSZ : スタックサイズ(16byte単位で指定)
    11999
    120100
    121 (6) ディレクトリ構成・ファイル構成
     101(6) ディレクトリ構成・ファイル構成
    122102  ./arch/arm64_gcc/
    123103    MANIFEST
     
    144124    common/core_user.txt
    145125
    146 (12) バージョン履歴
     126(12) バージョン履歴
    147127
    1481282018/05/30
    149  ãƒ»æœ€åˆã®ãƒªãƒªãƒ¼ã‚¹
     129 ・最初のリリース
    1501302019/04/15
    151  ãƒ»BCM283xチップ依存部の分離に合わせて修正
     131 ・BCM283xチップ依存部の分離に合わせて修正
Note: See TracChangeset for help on using the changeset viewer.