Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/gic_kernel_impl.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    66 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    77 *
    8  *  上記著作権è€
    9 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    11  *  変・再é
    12 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    13  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    14  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    15  *      スコード中に含まれていること.
    16  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    17  *      用できる形で再é
    18 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    19 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    20  *      è€
    21 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    22  *      の無保証規定を掲載すること.
    23  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    24  *      用できない形で再é
    25 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    26  *      と.
    27  *    (a) 再é
    28 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    29 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    30  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    31  *    (b) 再é
    32 å¸ƒã®å½¢æ
    33 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    34  *        報告すること.
    35  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    36  *      害からも,上記著作権è€
    37 ãŠã‚ˆã³TOPPERSプロジェクトをå
    38 è²¬ã™ã‚‹ã“と.
    39  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    40  *      由に基づく請求からも,上記著作権è€
    41 ãŠã‚ˆã³TOPPERSプロジェクトを
    42  *      å
    43 è²¬ã™ã‚‹ã“と.
    44  *
    45  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    46 ãŠ
    47  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    48  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    49  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    50  *  の責任を負わない.
     8 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     9 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     10 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     11 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     12 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     13 *      スコード中に含まれていること.
     14 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     15 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     16 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     17 *      の無保証規定を掲載すること.
     18 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     19 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     20 *      と.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     24 *        報告すること.
     25 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     26 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     27 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     28 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     29 *      免責すること.
     30 *
     31 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     32 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     33 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     34 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     35 *  の責任を負わない.
    5136 *
    5237 *  $Id$
     
    5439
    5540/*
    56  *              カーネルの割込みコントローラ依存部(GIC用)
     41 *              カーネルの割込みコントローラ依存部(GIC用)
    5742 */
    5843
     
    6348
    6449/*
    65  *  CPUインタフェースの操作
    66  */
    67 
    68 /*
    69  *  CPUインタフェースの初期化
     50 *  CPUインタフェースの操作
     51 */
     52
     53/*
     54 *  CPUインタフェースの初期化
    7055 */
    7156void
     
    7358{
    7459        /*
    75          *  CPUインタフェースをディスエーブル
     60         *  CPUインタフェースをディスエーブル
    7661         */
    7762        sil_wrw_mem(GICC_CTLR, GICC_CTLR_DISABLE);
    7863
    7964        /*
    80          *  割込み優å
    81 ˆåº¦ãƒžã‚¹ã‚¯ã‚’最低優å
    82 ˆåº¦ã«è¨­å®š
     65         *  割込み優先度マスクを最低優先度に設定
    8366         */
    8467        gicc_set_priority((GIC_PRI_LEVEL - 1) << GIC_PRI_SHIFT);
    8568
    8669        /*
    87          *  割込み優å
    88 ˆåº¦ã®å
    89 ¨ãƒ“ット有効に
     70         *  割込み優先度の全ビット有効に
    9071         */
    9172        sil_wrw_mem(GICC_BPR, 0U);
    9273
    9374        /*
    94          *  アクティブな割込みがあれば,EOIによりクリアする
     75         *  アクティブな割込みがあれば,EOIによりクリアする
    9576         */
    9677        sil_wrw_mem(GICC_EOIR, sil_rew_mem(GICC_IAR));
    9778
    9879        /*
    99          *  CPUインタフェースをイネーブル
     80         *  CPUインタフェースをイネーブル
    10081         */
    10182#ifdef TOPPERS_SAFEG_SECURE
     
    10889
    10990/*
    110  *  CPUインタフェースの終了処理
     91 *  CPUインタフェースの終了処理
    11192 */
    11293void
     
    11798
    11899/*
    119  *  ディストリビュータの操作
    120  */
    121 
    122 /*
    123  *  ディストリビュータの初期化
     100 *  ディストリビュータの操作
     101 */
     102
     103/*
     104 *  ディストリビュータの初期化
    124105 */
    125106void
     
    129110
    130111        /*
    131          *  ディストリビュータをディスエーブル
     112         *  ディストリビュータをディスエーブル
    132113         */
    133114        sil_wrw_mem(GICD_CTLR, GICD_CTLR_DISABLE);
     
    135116#ifdef TOPPERS_SAFEG_SECURE
    136117        /*
    137          *  すべての割込みをグループ1(IRQ)に設定
     118         *  すべての割込みをグループ1(IRQ)に設定
    138119         */
    139120        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
     
    143124
    144125        /*
    145          *  すべての割込みを禁止
     126         *  すべての割込みを禁止
    146127         */
    147128        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
     
    150131
    151132        /*
    152          *  すべての割込みペンディングをクリア
     133         *  すべての割込みペンディングをクリア
    153134         */
    154135        for (i = 0; i < (GIC_TNUM_INTNO + 31) / 32; i++) {
     
    157138
    158139        /*
    159          *  すべての割込みを最低優å
    160 ˆåº¦ã«è¨­å®š
     140         *  すべての割込みを最低優先度に設定
    161141         */
    162142        for (i = 0; i < (GIC_TNUM_INTNO + 3) / 4; i++){
     
    165145
    166146        /*
    167          *  すべてのå
    168 ±æœ‰ãƒšãƒªãƒ•ã‚§ãƒ©ãƒ«å‰²è¾¼ã¿ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’プロセッサ0に設定
     147         *  すべての共有ペリフェラル割込みのターゲットをプロセッサ0に設定
    169148         */
    170149        for (i = GIC_INTNO_SPI0 / 4; i < (GIC_TNUM_INTNO + 3) / 4; i++) {
     
    173152
    174153        /*
    175          *  すべてのペリフェラル割込みをレベルトリガに設定
     154         *  すべてのペリフェラル割込みをレベルトリガに設定
    176155         */
    177156        for (i = GIC_INTNO_PPI0 / 16; i < (GIC_TNUM_INTNO + 15) / 16; i++) {
     
    184163
    185164        /*
    186          *  ディストリビュータをイネーブル
     165         *  ディストリビュータをイネーブル
    187166         */
    188167        sil_wrw_mem(GICD_CTLR, GICD_CTLR_ENABLE);
     
    190169
    191170/*
    192  *  ディストリビュータの終了処理
     171 *  ディストリビュータの終了処理
    193172 */
    194173void
     
    201180
    202181/*
    203  *  割込み要求ラインの属性の設定
    204  *
    205  *  ASPカーネルでの利用を想定して,パラメータエラーはアサーションでチェッ
    206  *  クしている.
     182 *  割込み要求ラインの属性の設定
     183 *
     184 *  ASPカーネルでの利用を想定して,パラメータエラーはアサーションでチェッ
     185 *  クしている.
    207186 */
    208187Inline void
     
    213192
    214193        /*
    215          *  割込みを禁止
     194         *  割込みを禁止
    216195         *
    217          *  割込みを受け付けたまま,レベルトリガ/エッジトリガの設定や,割
    218          *  込み優å
    219 ˆåº¦ã®è¨­å®šã‚’行うのは危険なため,割込み属性にかかわらず,
    220          *  一旦マスクする.
     196         *  割込みを受け付けたまま,レベルトリガ/エッジトリガの設定や,割
     197         *  込み優先度の設定を行うのは危険なため,割込み属性にかかわらず,
     198         *  一旦マスクする.
    221199         */
    222200        disable_int(intno);
    223201
    224202        /*
    225          *  割込みをコンフィギュレーション
     203         *  割込みをコンフィギュレーション
    226204         */
    227205#ifdef TOPPERS_SAFEG_SECURE
     
    246224
    247225        /*
    248          *  割込み優å
    249 ˆåº¦ã¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ—ロセッサを設定
     226         *  割込み優先度とターゲットプロセッサを設定
    250227         */
    251228        gicd_set_priority(intno, INT_IPM(intpri));
     
    253230
    254231        /*
    255          * 割込みを許可
     232         * 割込みを許可
    256233         */
    257234        if ((intatr & TA_ENAINT) != 0U) {
     
    261238
    262239/*
    263  *  割込み管理機能の初期化
     240 *  割込み管理機能の初期化
    264241 */
    265242void
Note: See TracChangeset for help on using the changeset viewer.