Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (7 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/asp_dcre/kernel/interrupt.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=SHIFT_JIS
    r164 r167  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    12  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    13  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    14  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    15  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    16  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    17  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    18  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    19 ƒƒ“ƒgi—˜—p
    20  *      ŽÒƒ}ƒjƒ
    21 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    22  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    23  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    24  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    25  *      ‚ƁD
    26  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    27 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    28 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    29  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    30  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    31  *        •ñ‚·‚邱‚ƁD
    32  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    33  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    34  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    35  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    36  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    39  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    40  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    41  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    42  *  ‚̐ӔC‚𕉂í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    4339 *
    4440 *  @(#) $Id$
     
    4642
    4743/*
    48  *              Š„ž‚ÝŠÇ—‹@”\
     44 *              割込み管理機能
    4945 */
    5046
     
    5349
    5450/*
    55  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‰Šú‰»ƒuƒƒbƒN
     51 *  割込みサービスルーチン初期化ブロック
    5652 */
    5753typedef struct isr_initialization_block {
    58         ATR                     isratr;                 /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‘®« */
    59         intptr_t        exinf;                  /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ÌŠg’£î•ñ */
    60         INTNO           intno;                  /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ð“o˜^‚·‚銄ž‚ݔԍ† */
    61         QUEUE           *p_isr_queue;   /* “o˜^æŠ„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ƒLƒ
    62 [‚̔Ԓn */
    63         ISR                     isr;                    /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̐擪”Ô’n */
    64         PRI                     isrpri;                 /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“—Dæ“x */
     54        ATR                     isratr;                 /* 割込みサービスルーチン属性 */
     55        intptr_t        exinf;                  /* 割込みサービスルーチンの拡張情報 */
     56        INTNO           intno;                  /* 割込みサービスルーチンを登録する割込み番号 */
     57        QUEUE           *p_isr_queue;   /* 登録先割込みサービスルーチンキューの番地 */
     58        ISR                     isr;                    /* 割込みサービスルーチンの先頭番地 */
     59        PRI                     isrpri;                 /* 割込みサービスルーチン優先度 */
    6560} ISRINIB;
    6661
    6762/*
    68  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŠÇ—ƒuƒƒbƒN
     63 *  割込みサービスルーチン管理ブロック
    6964 */
    7065typedef struct isr_control_block {
    71         QUEUE           isr_queue;              /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŒÄo‚µƒLƒ
    72 [ */
    73         const ISRINIB *p_isrinib;       /* ‰Šú‰»ƒuƒƒbƒN‚ւ̃|ƒCƒ“ƒ^ */
     66        QUEUE           isr_queue;              /* 割込みサービスルーチン呼出しキュー */
     67        const ISRINIB *p_isrinib;       /* 初期化ブロックへのポインタ */
    7468} ISRCB;
    7569
    7670/*
    77  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŒÄo‚µƒLƒ
    78 [‚ðŒŸõ‚·‚邽‚߂̃f[ƒ^\‘¢
     71 *  割込みサービスルーチン呼出しキューを検索するためのデータ構造
    7972 */
    8073typedef struct {
    81         INTNO           intno;                  /* Š„ž‚ݔԍ† */
    82         QUEUE           *p_isr_queue;   /* Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŒÄo‚µƒLƒ
    83 [ */
     74        INTNO           intno;                  /* 割込み番号 */
     75        QUEUE           *p_isr_queue;   /* 割込みサービスルーチン呼出しキュー */
    8476} ISR_ENTRY;
    8577
    8678/*
    87  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ƒLƒ
    88 [‚̃Gƒ“ƒgƒŠ”ikernel_cfg.cj
     79 *  割込みサービスルーチンキューのエントリ数(kernel_cfg.c)
    8980 */
    9081extern const uint_t tnum_isr_queue;
    9182
    9283/*
    93  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ƒLƒ
    94 [ƒŠƒXƒgikernel_cfg.cj
     84 *  割込みサービスルーチンキューリスト(kernel_cfg.c)
    9585 */
    9686extern const ISR_ENTRY isr_queue_list[];
    9787
    9888/*
    99  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ƒLƒ
    100 [‚̃GƒŠƒAikernel_cfg.cj
     89 *  割込みサービスルーチンキューのエリア(kernel_cfg.c)
    10190 */
    10291extern QUEUE isr_queue_table[];
    10392
    10493/*
    105  *  Žg—p‚µ‚Ä‚¢‚È‚¢Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŠÇ—ƒuƒƒbƒN‚̃ŠƒXƒg
     94 *  使用していない割込みサービスルーチン管理ブロックのリスト
    10695 */
    10796extern QUEUE    free_isrcb;
    10897
    10998/*
    110  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ID‚̍őå’likernel_cfg.cj
     99 *  割込みサービスルーチンIDの最大値(kernel_cfg.c)
    111100 *
    112  *  Ã“I‚ɐ¶¬‚³‚ê‚銄ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ÍID”ԍ†‚ðŽ‚½‚È‚¢‚½‚߁C
    113  *  tmax_isrid‚Í“®“I‚ɐ¶¬‚³‚ê‚銄ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚ÌID”ԍ†‚̍őå’l
    114  *  ‚Å‚ ‚éDÃ“I‚ɐ¶¬‚³‚ê‚銄ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̐”‚́Ctnum_sisr‚É•Û
    115  *  Ž‚·‚éD
     101 *  静的に生成される割込みサービスルーチンはID番号を持たないため,
     102 *  tmax_isridは動的に生成される割込みサービスルーチンのID番号の最大値
     103 *  である.静的に生成される割込みサービスルーチンの数は,tnum_sisrに保
     104 *  持する.
    116105 */
    117106extern const ID         tmax_isrid;
     
    119108
    120109/*
    121  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‰Šú‰»ƒuƒƒbƒN‚̃GƒŠƒAikernel_cfg.cj
     110 *  割込みサービスルーチン初期化ブロックのエリア(kernel_cfg.c)
    122111 */
    123112extern const ISRINIB    sisrinib_table[];
     
    125114
    126115/*
    127  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŠÇ—ƒuƒƒbƒN‚̃GƒŠƒAikernel_cfg.cj
     116 *  割込みサービスルーチン管理ブロックのエリア(kernel_cfg.c)
    128117 */
    129118extern ISRCB    isrcb_table[];
    130119
    131120/*
    132  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ŠÇ—ƒuƒƒbƒN‚©‚犄ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“ID‚ðŽæ
    133  *  ‚èo‚·‚½‚߂̃}ƒNƒ
     121 *  割込みサービスルーチン管理ブロックから割込みサービスルーチンIDを取
     122 *  り出すためのマクロ
    134123 */
    135124#define ISRID(p_isrcb)  ((ID)(((p_isrcb) - isrcb_table) \
     
    137126
    138127/*
    139  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‹@”\‚̏‰Šú‰»
     128 *  割込みサービスルーチン機能の初期化
    140129 */
    141130extern void initialize_isr(void);
    142131
    143132/*
    144  *  Š„ž‚݃T[ƒrƒXƒ‹[ƒ`ƒ“‚̌ďo‚µ
     133 *  割込みサービスルーチンの呼出し
    145134 */
    146135extern void call_isr(QUEUE *p_isr_queue);
     
    149138
    150139/*
    151  *  Š„ž‚݃nƒ“ƒhƒ‰‰Šú‰»ƒuƒƒbƒN
     140 *  割込みハンドラ初期化ブロック
    152141 */
    153142typedef struct interrupt_handler_initialization_block {
    154         INHNO           inhno;                  /* Š„ž‚݃nƒ“ƒhƒ‰”ԍ† */
    155         ATR                     inhatr;                 /* Š„ž‚݃nƒ“ƒhƒ‰‘®« */
    156         FP                      int_entry;              /* Š„ž‚݃nƒ“ƒhƒ‰‚̏o“üŒûˆ—‚̔Ԓn */
     143        INHNO           inhno;                  /* 割込みハンドラ番号 */
     144        ATR                     inhatr;                 /* 割込みハンドラ属性 */
     145        FP                      int_entry;              /* 割込みハンドラの出入口処理の番地 */
    157146} INHINIB;
    158147
    159148/*
    160  *  Š„ž‚Ý—v‹ƒ‰ƒCƒ“‰Šú‰»ƒuƒƒbƒN
     149 *  割込み要求ライン初期化ブロック
    161150 */
    162151typedef struct interrupt_request_initialization_block {
    163         INTNO           intno;                  /* Š„ž‚ݔԍ† */
    164         ATR                     intatr;                 /* Š„ž‚Ý‘®« */
    165         PRI                     intpri;                 /* Š„ž‚Ý—Dæ“x */
     152        INTNO           intno;                  /* 割込み番号 */
     153        ATR                     intatr;                 /* 割込み属性 */
     154        PRI                     intpri;                 /* 割込み優先度 */
    166155} INTINIB;
    167156
    168157/*
    169  *  Š„ž‚݃nƒ“ƒhƒ‰”ԍ†‚̐”ikernel_cfg.cj
     158 *  割込みハンドラ番号の数(kernel_cfg.c)
    170159 */
    171160extern const uint_t     tnum_inhno;
    172161
    173162/*
    174  *  Š„ž‚݃nƒ“ƒhƒ‰‰Šú‰»ƒuƒƒbƒN‚̃GƒŠƒAikernel_cfg.cj
     163 *  割込みハンドラ初期化ブロックのエリア(kernel_cfg.c)
    175164 */
    176165extern const INHINIB    inhinib_table[];
    177166
    178167/*
    179  *  Š„ž‚Ý—v‹ƒ‰ƒCƒ“‚̐”ikernel_cfg.cj
     168 *  割込み要求ラインの数(kernel_cfg.c)
    180169 */
    181170extern const uint_t     tnum_intno;
    182171
    183172/*
    184  *  Š„ž‚Ý—v‹ƒ‰ƒCƒ“‰Šú‰»ƒuƒƒbƒN‚̃GƒŠƒAikernel_cfg.cj
     173 *  割込み要求ライン初期化ブロックのエリア(kernel_cfg.c)
    185174 */
    186175extern const INTINIB    intinib_table[];
     
    189178
    190179/*
    191  *  Š„ž‚ÝŠÇ—‹@”\‚̏‰Šú‰»
     180 *  割込み管理機能の初期化
    192181 */
    193182extern void     initialize_interrupt(void);
Note: See TracChangeset for help on using the changeset viewer.