Ignore:
Timestamp:
Jun 8, 2018, 11:24:32 AM (6 years ago)
Author:
nmir-saito
Message:

set svn:mime-type to files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_aarch64/trunk/arm64_gcc/gic_config.h

    • Property svn:mime-type set to text/plain; charset=utf-8
    r353 r356  
    88 *             Nagoya Municipal Industrial Research Institute, JAPAN
    99 *
    10  *  上記著作権è€
    11 ã¯ï¼Œä»¥ä¸‹ã®(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再é
    14 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    28  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
    41  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    42  *      由に基づく請求からも,上記著作権è€
    43 ãŠã‚ˆã³TOPPERSプロジェクトを
    44  *      å
    45 è²¬ã™ã‚‹ã“と.
    46  *
    47  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    48 ãŠ
    49  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    50  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    51  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    52  *  の責任を負わない.
     10 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     11 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     12 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     13 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     14 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     15 *      スコード中に含まれていること.
     16 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     17 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     18 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     19 *      の無保証規定を掲載すること.
     20 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     21 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     22 *      と.
     23 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     24 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     25 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     26 *        報告すること.
     27 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     28 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     29 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     30 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     31 *      免責すること.
     32 *
     33 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     34 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     35 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     36 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     37 *  の責任を負わない.
    5338 *
    5439 *  $Id: gic_config.h 714 2018-05-29 05:52:19Z saito $
     
    5641
    5742/*
    58  *              カーネルの割込みコントローラ依存部(GIC用)
    59  *
    60  *  このヘッダファイルは,target_config.h(または,そこからインクルード
    61  *  されるファイル)のみからインクルードされる.
    62  *  他のファイルから直接インクルードしてはならない.
     43 *              カーネルの割込みコントローラ依存部(GIC用)
     44 *
     45 *  このヘッダファイルは,target_config.h(または,そこからインクルード
     46 *  されるファイル)のみからインクルードされる.
     47 *  他のファイルから直接インクルードしてはならない.
    6348 */
    6449
     
    7055
    7156/*
    72  *  割込み番号の定義
     57 *  割込み番号の定義
    7358 */
    7459#define GIC_INTNO_PPI0          16U
     
    7661
    7762/*
    78  *  割込み優å
    79 ˆåº¦ã®æ“ä½œ
    80  *
    81  *  割込み優å
    82 ˆåº¦ã®å†
    83 éƒ¨è¡¨ç¾ã¯ï¼Œuint_t型で表し,0が最高優å
    84 ˆåº¦ã§ï¼Œå€¤ãŒå¤§ã
    85  *  いほど優å
    86 ˆåº¦ãŒä¸‹ãŒã‚‹ã‚‚のとする.GICのレジスタ構成と整合させるために,
    87  *  優å
    88 ˆåº¦ã®æ®µæ•°ãŒ256段階の時にあわせて表す.
     63 *  割込み優先度の操作
     64 *
     65 *  割込み優先度の内部表現は,uint_t型で表し,0が最高優先度で,値が大き
     66 *  いほど優先度が下がるものとする.GICのレジスタ構成と整合させるために,
     67 *  優先度の段数が256段階の時にあわせて表す.
    8968 */
    9069#define GIC_PRI_LEVEL           (TMAX_INTPRI - TMIN_INTPRI + 2)
     
    10988#endif /* GIC_PRI_LEVEL == 16 */
    11089
    111 /* 外部表現への変換 */
     90/* 外部表現への変換 */
    11291#define EXT_IPM(pri) \
    11392                        (((PRI)((pri) >> GIC_PRI_SHIFT)) - (GIC_PRI_LEVEL - 1))
    11493
    115 /* å†
    116 éƒ¨è¡¨ç¾ã¸ã®å¤‰æ› */
     94/* 内部表現への変換 */
    11795#define INT_IPM(ipm) \
    11896                        (((uint_t)((ipm) + (GIC_PRI_LEVEL - 1))) << GIC_PRI_SHIFT)
    11997
    12098/*
    121  *  GICレジスタのアドレスを定義するためのマクロ
    122  *
    123  *  GICレジスタのアドレスを,アセンブリ言語からも参ç
    124 §ã§ãã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸ
    125  *  めのマクロ.
     99 *  GICレジスタのアドレスを定義するためのマクロ
     100 *
     101 *  GICレジスタのアドレスを,アセンブリ言語からも参照できるようにするた
     102 *  めのマクロ.
    126103 */
    127104#ifndef GIC_REG
     
    130107
    131108/*
    132  *  CPUインタフェース関連の定義
     109 *  CPUインタフェース関連の定義
    133110 */
    134111#define GICC_CTLR               GIC_REG(GICC_BASE, 0x00)
     
    141118
    142119/*
    143  *  CPUインタフェース制御レジスタ(GICC_CTLR)の設定値
    144  *  (GICv1でセキュリティ拡張がない場合)
     120 *  CPUインタフェース制御レジスタ(GICC_CTLR)の設定値
     121 *  (GICv1でセキュリティ拡張がない場合)
    145122 */
    146123#define GICC_CTLR_DISABLE               UINT_C(0x00)
     
    148125
    149126/*
    150  *  ディストリビュータ関連の定義
     127 *  ディストリビュータ関連の定義
    151128 */
    152129#define GICD_CTLR               GIC_REG(GICD_BASE, 0x000)
     
    169146
    170147/*
    171  *  ディストリビュータ制御レジスタ(GICD_CTLR)の設定値
     148 *  ディストリビュータ制御レジスタ(GICD_CTLR)の設定値
    172149 */
    173150#define GICD_CTLR_DISABLE       UINT_C(0x00)
     
    175152
    176153/*
    177  *  割込みコンフィギュレーションレジスタ(GICD_ICFGRn)の設定値
     154 *  割込みコンフィギュレーションレジスタ(GICD_ICFGRn)の設定値
    178155 */
    179156#define GICD_ICFGRn_LEVEL       UINT_C(0x00)
     
    183160
    184161/*
    185  *  CPUインタフェースの操作
    186  */
    187 
    188 /*
    189  *  割込み優å
    190 ˆåº¦ãƒžã‚¹ã‚¯ã‚’設定(priはå†
    191 éƒ¨è¡¨ç¾ï¼‰
     162 *  CPUインタフェースの操作
     163 */
     164
     165/*
     166 *  割込み優先度マスクを設定(priは内部表現)
    192167 */
    193168Inline void
     
    198173
    199174/*
    200  *  割込み優å
    201 ˆåº¦ãƒžã‚¹ã‚¯ã‚’取得(å†
    202 éƒ¨è¡¨ç¾ã§è¿”す)
     175 *  割込み優先度マスクを取得(内部表現で返す)
    203176 */
    204177Inline uint_t
     
    209182
    210183/*
    211  *  CPUインタフェースの初期化
     184 *  CPUインタフェースの初期化
    212185 */
    213186extern void gicc_initialize(void);
    214187
    215188/*
    216  *  CPUインタフェースの終了
     189 *  CPUインタフェースの終了
    217190 */
    218191extern void gicc_terminate(void);
    219192
    220193/*
    221  *  ディストリビュータの操作
    222  */
    223 
    224 /*
    225  *  割込み禁止(割込みイネーブルのクリア)
     194 *  ディストリビュータの操作
     195 */
     196
     197/*
     198 *  割込み禁止(割込みイネーブルのクリア)
    226199 */
    227200Inline void
     
    232205
    233206/*
    234  *  割込み許可(割込みイネーブルのセット)
     207 *  割込み許可(割込みイネーブルのセット)
    235208 */
    236209Inline void
     
    241214
    242215/*
    243  *  割込みペンディングのクリア
     216 *  割込みペンディングのクリア
    244217 */
    245218Inline void
     
    250223
    251224/*
    252  *  割込みペンディングのセット
     225 *  割込みペンディングのセット
    253226 */
    254227Inline void
     
    259232
    260233/*
    261  *  割込みペンディングのチェック
     234 *  割込みペンディングのチェック
    262235 */
    263236Inline bool_t
     
    268241
    269242/*
    270  *  割込みのコンフィグレーション
     243 *  割込みのコンフィグレーション
    271244 */
    272245Inline void
     
    283256
    284257/*
    285  *  割込み要求ラインに対する割込み優å
    286 ˆåº¦ã®è¨­å®šï¼ˆpriはå†
    287 éƒ¨è¡¨ç¾ï¼‰
     258 *  割込み要求ラインに対する割込み優先度の設定(priは内部表現)
    288259 */
    289260Inline void
     
    300271
    301272/*
    302  *  割込みターゲットプロセッサの設定
    303  *
    304  *  prcsは,ターゲットとするプロセッサを表すビットのビット毎論理和で指
    305  *  定する.
    306  *              プロセッサ0 : 0x01
    307  *              プロセッサ1 : 0x02
    308  *              プロセッサ2 : 0x04
    309  *              プロセッサ3 : 0x08
     273 *  割込みターゲットプロセッサの設定
     274 *
     275 *  prcsは,ターゲットとするプロセッサを表すビットのビット毎論理和で指
     276 *  定する.
     277 *              プロセッサ0 : 0x01
     278 *              プロセッサ1 : 0x02
     279 *              プロセッサ2 : 0x04
     280 *              プロセッサ3 : 0x08
    310281 */
    311282Inline void
     
    322293
    323294/*
    324  *  ディストリビュータの初期化
     295 *  ディストリビュータの初期化
    325296 */
    326297extern void gicd_initialize(void);
    327298
    328299/*
    329  *  ディストリビュータの終了
     300 *  ディストリビュータの終了
    330301 */
    331302extern void gicd_terminate(void);
    332303
    333304/*
    334  *  例外å
    335 ¥å£ã®GIC操作(gic_support.S)
     305 *  例外入口のGIC操作(gic_support.S)
    336306 */
    337307extern void gic_exc_entry(void);
    338308
    339309/*
    340  *  割込みå
    341 ¥å£ã®GIC操作(gic_support.S)
     310 *  割込み入口のGIC操作(gic_support.S)
    342311 */
    343312extern void gic_int_entry(void);
Note: See TracChangeset for help on using the changeset viewer.