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/kernel/interrupt.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  上記著作権è€
    12 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    13  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    14  *  変・再é
    15 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    18  *      スコード中に含まれていること.
    19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    20  *      用できる形で再é
    21 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    22 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    23  *      è€
    24 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    25  *      の無保証規定を掲載すること.
    26  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    27  *      用できない形で再é
    28 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    29  *      と.
    30  *    (a) 再é
    31 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    32 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    33  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    34  *    (b) 再é
    35 å¸ƒã®å½¢æ
    36 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    37  *        報告すること.
    38  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    39  *      害からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトをå
    41 è²¬ã™ã‚‹ã“と.
    42  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    43  *      由に基づく請求からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトを
    45  *      å
    46 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              割込み管理機能
     44 *              割込み管理機能
    6045 */
    6146
     
    6651
    6752/*
    68  *  トレースログマクロのデフォルト定義
     53 *  トレースログマクロのデフォルト定義
    6954 */
    7055#ifndef LOG_ISR_ENTER
     
    125110
    126111/*
    127  *  割込みサービスルーチンの数
     112 *  割込みサービスルーチンの数
    128113 */
    129114#define tnum_isr        ((uint_t)(tmax_isrid - TMIN_ISRID + 1))
     
    131116
    132117/*
    133  *  割込みサービスルーチンIDから割込みサービスルーチン管理ブロックを取
    134  *  り出すためのマクロ
     118 *  割込みサービスルーチンIDから割込みサービスルーチン管理ブロックを取
     119 *  り出すためのマクロ
    135120 */
    136121#define INDEX_ISR(isrid)        ((uint_t)((isrid) - TMIN_ISRID))
     
    138123
    139124/*
    140  *  割込みサービスルーチンキューへの登録
     125 *  割込みサービスルーチンキューへの登録
    141126 */
    142127Inline void
     
    158143
    159144/*
    160  *  使用していない割込みサービスルーチン管理ブロックのリスト
     145 *  使用していない割込みサービスルーチン管理ブロックのリスト
    161146 */
    162147QUEUE   free_isrcb;
    163148
    164149/*
    165  *  割込みサービスルーチン機能の初期化
     150 *  割込みサービスルーチン機能の初期化
    166151 */
    167152void
     
    194179
    195180/*
    196  *  割込みサービスルーチンの呼出し
     181 *  割込みサービスルーチンの呼出し
    197182 */
    198183#ifdef TOPPERS_isrcal
     
    212197
    213198                if (p_queue->p_next != p_isr_queue) {
    214                         /* ISRの呼出し前の状æ
    215 ‹ã«æˆ»ã™ */
     199                        /* ISRの呼出し前の状態に戻す */
    216200                        if (sense_lock()) {
    217201                                unlock_cpu();
     
    224208
    225209/*
    226  *  割込みサービスルーチン呼出しキューの検索
     210 *  割込みサービスルーチン呼出しキューの検索
    227211 */
    228212Inline QUEUE *
     
    255239
    256240/*
    257  *  割込みサービスルーチンの生成
     241 *  割込みサービスルーチンの生成
    258242 *
    259  *  pk_cisr->exinfは,エラーチェックをせず,一度しか参ç
    260 §ã—ないため,ロー
    261  *  カル変数にコピーするå¿
    262 è¦ãŒãªã„(途中で書き換わっても支障がない).
     243 *  pk_cisr->exinfは,エラーチェックをせず,一度しか参照しないため,ロー
     244 *  カル変数にコピーする必要がない(途中で書き換わっても支障がない).
    263245 */
    264246#ifdef TOPPERS_acre_isr
     
    318300
    319301/*
    320  *  割込みサービスルーチンの削除
     302 *  割込みサービスルーチンの削除
    321303 */
    322304#ifdef TOPPERS_del_isr
     
    358340
    359341/*
    360  *  割込み管理機能の初期化
     342 *  割込み管理機能の初期化
    361343 */
    362344#ifdef TOPPERS_intini
     
    384366
    385367/*
    386  *  割込みの禁止[NGKI3555ï¼½
     368 *  割込みの禁止[NGKI3555]
    387369 */
    388370#ifdef TOPPERS_dis_int
    389 #ifdef TOPPERS_SUPPORT_DIS_INT                                  /*ï¼»NGKI3093ï¼½*/
     371#ifdef TOPPERS_SUPPORT_DIS_INT                                  /*[NGKI3093]*/
    390372
    391373ER
     
    396378
    397379        LOG_DIS_INT_ENTER(intno);
    398         CHECK_PAR(VALID_INTNO_DISINT(intno));           /*ï¼»NGKI3083][NGKI3087ï¼½*/
     380        CHECK_PAR(VALID_INTNO_DISINT(intno));           /*[NGKI3083][NGKI3087]*/
    399381
    400382        locked = sense_lock();
     
    402384                lock_cpu();
    403385        }
    404         if (disable_int(intno)) {                                       /*ï¼»NGKI3086ï¼½*/
     386        if (disable_int(intno)) {                                       /*[NGKI3086]*/
    405387                ercd = E_OK;
    406388        }
    407389        else {
    408                 ercd = E_OBJ;                                                   /*ï¼»NGKI3085ï¼½*/
     390                ercd = E_OBJ;                                                   /*[NGKI3085]*/
    409391        }
    410392        if (!locked) {
     
    421403
    422404/*
    423  *  割込みの許可[NGKI3556ï¼½
     405 *  割込みの許可[NGKI3556]
    424406 */
    425407#ifdef TOPPERS_ena_int
    426 #ifdef TOPPERS_SUPPORT_ENA_INT                                  /*ï¼»NGKI3106ï¼½*/
     408#ifdef TOPPERS_SUPPORT_ENA_INT                                  /*[NGKI3106]*/
    427409
    428410ER
     
    433415
    434416        LOG_ENA_INT_ENTER(intno);
    435         CHECK_PAR(VALID_INTNO_DISINT(intno));           /*ï¼»NGKI3096][NGKI3100ï¼½*/
     417        CHECK_PAR(VALID_INTNO_DISINT(intno));           /*[NGKI3096][NGKI3100]*/
    436418
    437419        locked = sense_lock();
     
    439421                lock_cpu();
    440422        }
    441         if (enable_int(intno)) {                                        /*ï¼»NGKI3099ï¼½*/
     423        if (enable_int(intno)) {                                        /*[NGKI3099]*/
    442424                ercd = E_OK;
    443425        }
    444426        else {
    445                 ercd = E_OBJ;                                                   /*ï¼»NGKI3098ï¼½*/
     427                ercd = E_OBJ;                                                   /*[NGKI3098]*/
    446428        }
    447429        if (!locked) {
     
    458440
    459441/*
    460  *  割込み優å
    461 ˆåº¦ãƒžã‚¹ã‚¯ã®å¤‰æ›´ï¼»NGKI3107ï¼½
     442 *  割込み優先度マスクの変更[NGKI3107]
    462443 */
    463444#ifdef TOPPERS_chg_ipm
     
    469450
    470451        LOG_CHG_IPM_ENTER(intpri);
    471         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI3108][NGKI3109ï¼½*/
    472         CHECK_PAR(VALID_INTPRI_CHGIPM(intpri));         /*ï¼»NGKI3113][NGKI3114ï¼½*/
     452        CHECK_TSKCTX_UNL();                                                     /*[NGKI3108][NGKI3109]*/
     453        CHECK_PAR(VALID_INTPRI_CHGIPM(intpri));         /*[NGKI3113][NGKI3114]*/
    473454
    474455        lock_cpu();
    475         t_set_ipm(intpri);                                                      /*ï¼»NGKI3111ï¼½*/
     456        t_set_ipm(intpri);                                                      /*[NGKI3111]*/
    476457        if (intpri == TIPM_ENAALL && enadsp) {
    477458                dspflg = true;
     
    503484
    504485/*
    505  *  割込み優å
    506 ˆåº¦ãƒžã‚¹ã‚¯ã®å‚ç
    507 §ï¼»NGKI3115ï¼½
     486 *  割込み優先度マスクの参照[NGKI3115]
    508487 */
    509488#ifdef TOPPERS_get_ipm
     
    515494
    516495        LOG_GET_IPM_ENTER(p_intpri);
    517         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI3116][NGKI3117ï¼½*/
     496        CHECK_TSKCTX_UNL();                                                     /*[NGKI3116][NGKI3117]*/
    518497
    519498        lock_cpu();
    520         *p_intpri = t_get_ipm();                                        /*ï¼»NGKI3120ï¼½*/
     499        *p_intpri = t_get_ipm();                                        /*[NGKI3120]*/
    521500        ercd = E_OK;
    522501        unlock_cpu();
Note: See TracChangeset for help on using the changeset viewer.