| 1 | |
|---|
| 2 | TOPPERS/ASP¥«¡Œ¥Í¥ë |
|---|
| 3 | ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿»ÅÍÍ |
|---|
| 4 | |
|---|
| 5 | Âбþ¥Ð¡Œ¥ž¥ç¥ó: Release 1.9.2 |
|---|
| 6 | ºÇœª¹¹¿·: 2013ǯ12·î31Æü |
|---|
| 7 | |
|---|
| 8 | €³€Î¥É¥¥å¥á¥ó¥È€Ï¡€TOPPERS/ASP¥«¡Œ¥Í¥ë€Î¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬ÉžœàŪ€ËÀž |
|---|
| 9 | À®€¹€Ù€¥Õ¥¡¥€¥ë€ÎÆâÍÆ€Ë€Ä€€€Æ²òÀ‷€¿€â€Î€Ç€¢€ë¡¥¥¿¡Œ¥²¥Ã¥È°Íž€ËÀžÀ® |
|---|
| 10 | €¹€ëÆâÍÆ€Ë€Ä€€€Æ€Ï¡€€³€Î¥É¥¥å¥á¥ó¥È€ÎÈϰϳ°€Ç€¢€ë¡¥ |
|---|
| 11 | |
|---|
| 12 | ---------------------------------------------------------------------- |
|---|
| 13 | TOPPERS/ASP Kernel |
|---|
| 14 | Toyohashi Open Platform for Embedded Real-Time Systems/ |
|---|
| 15 | Advanced Standard Profile Kernel |
|---|
| 16 | |
|---|
| 17 | Copyright (C) 2005-2013 by Embedded and Real-Time Systems Laboratory |
|---|
| 18 | Graduate School of Information Science, Nagoya Univ., JAPAN |
|---|
| 19 | |
|---|
| 20 | ŸåµÃøºîž¢ŒÔ€Ï¡€°Ê²Œ€Î(1)¡Á(4)€ÎŸò·ï€òËþ€¿€¹Ÿì¹ç€ËžÂ€ê¡€ËÜ¥œ¥Õ¥È¥Š¥§ |
|---|
| 21 | ¥¢¡ÊËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò²þÊÑ€·€¿€â€Î€òŽÞ€à¡¥°Ê²ŒÆ±€ž¡Ë€ò»ÈÍÑ¡ŠÊ£Àœ¡Š²þ |
|---|
| 22 | ÊÑ¡ŠºÆÇÛÉۡʰʲŒ¡€ÍøÍрȞƀ֡ˀ¹€ë€³€È€ò̵œþ€ÇµöÂú€¹€ë¡¥ |
|---|
| 23 | (1) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¥œ¡Œ¥¹¥³¡Œ¥É€Î·Á€ÇÍøÍÑ€¹€ëŸì¹ç€Ë€Ï¡€Ÿåµ€ÎÃøºî |
|---|
| 24 | ž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ€Î̵ÊÝŸÚµ¬Äꀬ¡€€œ€Î€Þ€Þ€Î·Á€Ç¥œ¡Œ |
|---|
| 25 | ¥¹¥³¡Œ¥ÉÃæ€ËŽÞ€Þ€ì€Æ€€€ë€³€È¡¥ |
|---|
| 26 | (2) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¡€¥é¥€¥Ö¥é¥ê·ÁŒ°€Ê€É¡€ÂŸ€Î¥œ¥Õ¥È¥Š¥§¥¢³«È¯€Ë»È |
|---|
| 27 | Íрǀ€ë·Á€ÇºÆÇÛÉÛ€¹€ëŸì¹ç€Ë€Ï¡€ºÆÇÛÉÛ€ËÈŒ€Š¥É¥¥å¥á¥ó¥È¡ÊÍøÍÑ |
|---|
| 28 | ŒÔ¥Þ¥Ë¥å¥¢¥ë€Ê€É¡Ë€Ë¡€Ÿåµ€ÎÃøºîž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ |
|---|
| 29 | €Î̵ÊÝŸÚµ¬Äê€ò·ÇºÜ€¹€ë€³€È¡¥ |
|---|
| 30 | (3) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ò¡€µ¡Žï€ËÁȀ߹þ€à€Ê€É¡€ÂŸ€Î¥œ¥Õ¥È¥Š¥§¥¢³«È¯€Ë»È |
|---|
| 31 | Íрǀ€Ê€€·Á€ÇºÆÇÛÉÛ€¹€ëŸì¹ç€Ë€Ï¡€Œ¡€Î€€€º€ì€«€ÎŸò·ï€òËþ€¿€¹€³ |
|---|
| 32 | €È¡¥ |
|---|
| 33 | (a) ºÆÇÛÉÛ€ËÈŒ€Š¥É¥¥å¥á¥ó¥È¡ÊÍøÍьԥޥ˥奢¥ë€Ê€É¡Ë€Ë¡€Ÿåµ€ÎÃø |
|---|
| 34 | ºîž¢ÉœŒš¡€€³€ÎÍøÍÑŸò·ï€ª€è€Ó²Œµ€Î̵ÊÝŸÚµ¬Äê€ò·ÇºÜ€¹€ë€³€È¡¥ |
|---|
| 35 | (b) ºÆÇÛÉۀηÁÂÖ€ò¡€ÊÌ€ËÄê€á€ëÊýË¡€Ë€è€Ã€Æ¡€TOPPERS¥×¥í¥ž¥§¥¯¥È€Ë |
|---|
| 36 | Êó¹ð€¹€ë€³€È¡¥ |
|---|
| 37 | (4) ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ÎÍøÍрˀè€êÄŸÀÜŪ€Þ€¿€ÏŽÖÀÜŪ€ËÀž€ž€ë€€€«€Ê€ë» |
|---|
| 38 | ³²€«€é€â¡€ŸåµÃøºîž¢ŒÔ€ª€è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€òÌÈÀÕ€¹€ë€³€È¡¥ |
|---|
| 39 | €Þ€¿¡€ËÜ¥œ¥Õ¥È¥Š¥§¥¢€Î¥æ¡Œ¥¶€Þ€¿€Ï¥š¥ó¥É¥æ¡Œ¥¶€«€é€Î€€€«€Ê€ëÍý |
|---|
| 40 | ͳ€ËŽð€Å€¯ÀÁµá€«€é€â¡€ŸåµÃøºîž¢ŒÔ€ª€è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€ò |
|---|
| 41 | ÌÈÀÕ€¹€ë€³€È¡¥ |
|---|
| 42 | |
|---|
| 43 | ËÜ¥œ¥Õ¥È¥Š¥§¥¢€Ï¡€ÌµÊÝŸÚ€ÇÄó¶¡€µ€ì€Æ€€€ë€â€Î€Ç€¢€ë¡¥ŸåµÃøºîž¢ŒÔ€ª |
|---|
| 44 | €è€ÓTOPPERS¥×¥í¥ž¥§¥¯¥È€Ï¡€ËÜ¥œ¥Õ¥È¥Š¥§¥¢€ËŽØ€·€Æ¡€ÆÃÄê€Î»ÈÍÑÌÜŪ |
|---|
| 45 | €ËÂЀ¹€ëŬ¹çÀ€âŽÞ€á€Æ¡€€€€«€Ê€ëÊÝŸÚ€â¹Ô€ï€Ê€€¡¥€Þ€¿¡€ËÜ¥œ¥Õ¥È¥Š¥§ |
|---|
| 46 | ¥¢€ÎÍøÍрˀè€êÄŸÀÜŪ€Þ€¿€ÏŽÖÀÜŪ€ËÀž€ž€¿€€€«€Ê€ë»³²€ËŽØ€·€Æ€â¡€€œ |
|---|
| 47 | €ÎÀÕÇ€€òÉé€ï€Ê€€¡¥ |
|---|
| 48 | |
|---|
| 49 | $Id$ |
|---|
| 50 | ---------------------------------------------------------------------- |
|---|
| 51 | |
|---|
| 52 | ¡ûÌÜŒ¡ |
|---|
| 53 | |
|---|
| 54 | ¡ŠÀžÀ®€¹€ë¥Õ¥¡¥€¥ë€ÎŒïÎà |
|---|
| 55 | ¡ŠÀÅŪAPI°ìÍ÷ |
|---|
| 56 | ¡Š¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Êkernel_cfg.h¡Ë |
|---|
| 57 | (1) žÇÄêÀžÀ®Éôʬ |
|---|
| 58 | (2) ¥ª¥Ö¥ž¥§¥¯¥È¿ô€ÎÄêµÁ |
|---|
| 59 | (3) ¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈÖ¹æ€ÎÄêµÁ |
|---|
| 60 | ¡Š¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Õ¥¡¥€¥ë¡Êkernel_cfg.c¡Ë |
|---|
| 61 | (1) žÇÄêÀžÀ®Éôʬ |
|---|
| 62 | (2) ¥«¡Œ¥Í¥ë€ÎŒïÎà€Î¥Á¥§¥Ã¥¯ |
|---|
| 63 | (3) ¥€¥ó¥¯¥ë¡Œ¥É¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#include¡Ë€ÎœèÍý |
|---|
| 64 | (4) ¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€Î¥Ç¥Õ¥©¥ë¥ÈÄêµÁ |
|---|
| 65 | (5) ¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈÖ¹æ€òÊÝ»ý€¹€ëÊÑ¿ô€ÎÄêµÁ |
|---|
| 66 | (6) ³Æ¥«¡Œ¥Í¥ë¥ª¥Ö¥ž¥§¥¯¥È€ËŽØ€¹€ëÄêµÁ |
|---|
| 67 | (7) ³ä¹þ€ß€ËŽØ€¹€ëÄêµÁ |
|---|
| 68 | (8) CPUÎã³°€ËŽØ€¹€ëÄêµÁ |
|---|
| 69 | (9) È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ËŽØ€¹€ëÄêµÁ |
|---|
| 70 | (10) ¥¿¥€¥à¥€¥Ù¥ó¥ÈŽÉÍý€ËŽØ€¹€ëÄêµÁ |
|---|
| 71 | (11) ³Æ¥â¥ž¥å¡Œ¥ë€ÎœéŽü²œŽØ¿ô€ÎÄêµÁ |
|---|
| 72 | (12) œéŽü²œ¥ë¡Œ¥Á¥ó€ÎŒÂ¹ÔŽØ¿ô€ÎÄêµÁ |
|---|
| 73 | (13) œªÎ»œèÍý¥ë¡Œ¥Á¥ó€ÎŒÂ¹ÔŽØ¿ô€ÎÄêµÁ |
|---|
| 74 | |
|---|
| 75 | |
|---|
| 76 | ¡ûÀžÀ®€¹€ë¥Õ¥¡¥€¥ë€ÎŒïÎà |
|---|
| 77 | |
|---|
| 78 | ASP¥«¡Œ¥Í¥ë€Î¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€ |
|---|
| 79 | ¥ë€òœèÍý€·€Æ¡€¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Õ¥¡¥€¥ë¡Êkernel_cfg.c¡Ë€È¹œÀ®¡ŠœéŽü |
|---|
| 80 | ²œ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Êkernel_cfg.h¡Ë€òÀžÀ®€¹€ë¡¥€Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Î |
|---|
| 81 | œèÍý€ÎÅÓÃæ€Ë¡€É¬Í×€ÊÃæŽÖ¥Õ¥¡¥€¥ë€òÀžÀ®€¹€ë¡¥ |
|---|
| 82 | |
|---|
| 83 | |
|---|
| 84 | ¡ûÀÅŪAPI°ìÍ÷ |
|---|
| 85 | |
|---|
| 86 | ASP¥«¡Œ¥Í¥ë€Î¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬œèÍý€¹€ëÀÅŪAPI€ÏŒ¡€ÎÄ̀ꡥ |
|---|
| 87 | |
|---|
| 88 | (1) ¥¿¥¹¥¯ŽÉÍýµ¡Çœ |
|---|
| 89 | CRE_TSK(ID tskid, { ATR tskatr, intptr_t exinf, TASK task, |
|---|
| 90 | PRI itskpri, SIZE stksz, STK_T *stk }) |
|---|
| 91 | |
|---|
| 92 | (2) ¥¿¥¹¥¯Îã³°œèÍýµ¡Çœ |
|---|
| 93 | DEF_TEX(ID tskid, { ATR texatr, TEXRTN texrtn }) |
|---|
| 94 | |
|---|
| 95 | (3) ƱŽü¡ŠÄÌ¿®µ¡Çœ |
|---|
| 96 | CRE_SEM(ID semid, { ATR sematr, uint_t isemcnt, uint_t maxsem }) |
|---|
| 97 | CRE_FLG(ID flgid, { ATR flgatr, FLGPTN iflgptn }) |
|---|
| 98 | CRE_DTQ(ID dtqid, { ATR dtqatr, uint_t dtqcnt, void *dtqmb }) |
|---|
| 99 | CRE_PDQ(ID pdqid, { ATR pdqatr, uint_t pdqcnt, PRI maxdpri, void *pdqmb }) |
|---|
| 100 | CRE_MBX(ID mbxid, { ATR mbxatr, PRI maxmpri, void *mprihd }) |
|---|
| 101 | |
|---|
| 102 | ¢š dtqmb¡€pdqmb¡€mprihd€¬NULL€Ç€Ê€€Ÿì¹ç€Ï¥µ¥Ý¡Œ¥È€·€Ê€€¡¥ |
|---|
| 103 | |
|---|
| 104 | (4) ¥á¥â¥ê¥×¡Œ¥ëŽÉÍýµ¡Çœ |
|---|
| 105 | CRE_MPF(ID mpfid, { ATR mpfatr, uint_t blkcnt, uint_t blksz, |
|---|
| 106 | MPF_T *mpf, void *mpfmb }) |
|---|
| 107 | |
|---|
| 108 | ¢š mpfmb€¬NULL€Ç€Ê€€Ÿì¹ç€Ï¥µ¥Ý¡Œ¥È€·€Ê€€¡¥ |
|---|
| 109 | |
|---|
| 110 | (5) »þŽÖŽÉÍýµ¡Çœ |
|---|
| 111 | CRE_CYC(ID cycid, { ATR cycatr, intptr_t exinf, CYCHDR cychdr, |
|---|
| 112 | RELTIM cyctim, RELTIM cycphs }) |
|---|
| 113 | CRE_ALM(ID almid, { ATR almatr, intptr_t exinf, ALMHDR almhdr }) |
|---|
| 114 | |
|---|
| 115 | (6) ³ä¹þ€ßŽÉÍýµ¡Çœ |
|---|
| 116 | CFG_INT(INTNO intno, { ATR intatr, PRI intpri }) |
|---|
| 117 | ATT_ISR({ ATR isratr, intptr_t exinf, INTNO intno, ISR isr, PRI isrpri }) |
|---|
| 118 | DEF_INH(INHNO inhno, { ATR inhatr, INTHDR inthdr }) |
|---|
| 119 | |
|---|
| 120 | (7) CPUÎã³°ŽÉÍýµ¡Çœ |
|---|
| 121 | DEF_EXC(EXCNO excno, { ATR excatr, EXCHDR exchdr }) |
|---|
| 122 | |
|---|
| 123 | (8) ¥·¥¹¥Æ¥à¹œÀ®ŽÉÍýµ¡Çœ |
|---|
| 124 | DEF_ICS({ SIZE istksz, STK_T *istk }) |
|---|
| 125 | ATT_INI({ ATR iniatr, intptr_t exinf, INIRTN inirtn }) |
|---|
| 126 | ATT_TER({ ATR teratr, intptr_t exinf, TERRTN terrtn }) |
|---|
| 127 | |
|---|
| 128 | €³€ì€é€ÎÀÅŪAPI€Î¥Ñ¥é¥á¡Œ¥¿€ÎÆâ¡€ID·¿€Î¥Ñ¥é¥á¡Œ¥¿€Ï¥ª¥Ö¥ž¥§¥¯¥ÈŒ±ÊÌÌŸ¡€ |
|---|
| 129 | ¥Ý¥€¥ó¥¿·¿¡Êvoid *¡€TASK¡€TEXRTN¡€CYCHDR¡€ALMHDR¡€ISR¡€INTHDR¡€EXCHDR¡€ |
|---|
| 130 | INIRTN¡€TERRTN¡€STK_T *¡€MPF_T *¡Ë€ª€è€Óintptr_t·¿€Î¥Ñ¥é¥á¡Œ¥¿€Ï°ìÈÌÄê |
|---|
| 131 | ¿ôŒ°¥Ñ¥é¥á¡Œ¥¿€È€¹€ë¡¥€œ€ÎŸ€Î¥Ñ¥é¥á¡Œ¥¿€Ï¡€À°¿ôÄê¿ôŒ°¥Ñ¥é¥á¡Œ¥¿€È€¹€ë¡¥ |
|---|
| 132 | |
|---|
| 133 | |
|---|
| 134 | ¡û¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Êkernel_cfg.h¡Ë |
|---|
| 135 | |
|---|
| 136 | ¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Ø¥Ã¥À¥Õ¥¡¥€¥ë¡Êkernel_cfg.h¡Ë€Ë€Ï¡€Œ¡€ÎÄêµÁ€òÀžÀ® |
|---|
| 137 | €¹€ë¡¥ |
|---|
| 138 | |
|---|
| 139 | (1) žÇÄêÀžÀ®Éôʬ |
|---|
| 140 | |
|---|
| 141 | kernel_cfg.h€¬Ê£¿ô²ó¥€¥ó¥¯¥ë¡Œ¥É€µ€ì€ë€Î€òËÉ€°€¿€á€ÎµœÒ€òÀžÀ®€¹€ë¡¥¶ñ |
|---|
| 142 | ÂÎŪ€Ë€Ï¡€¥Õ¥¡¥€¥ë€ÎÀèÆ¬€ËŒ¡€Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 143 | |
|---|
| 144 | #ifndef TOPPERS_KERNEL_CFG_H |
|---|
| 145 | #define TOPPERS_KERNEL_CFG_H |
|---|
| 146 | |
|---|
| 147 | €Þ€¿¡€¥Õ¥¡¥€¥ë€ÎËöÈø€ËŒ¡€Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 148 | |
|---|
| 149 | #endif /* TOPPERS_KERNEL_CFG_H */ |
|---|
| 150 | |
|---|
| 151 | (2) ¥ª¥Ö¥ž¥§¥¯¥È¿ô€ÎÄêµÁ |
|---|
| 152 | |
|---|
| 153 | ¥«¡Œ¥Í¥ë€¬¥µ¥Ý¡Œ¥È€¹€ë¥ª¥Ö¥ž¥§¥¯¥È€Î¿ô€ò¥Þ¥¯¥íÄêµÁ€¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£ |
|---|
| 154 | ¥ì¥¯¥Æ¥£¥Ö¡Ê#define¡Ë€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€ÊµœÒ€òÀžÀ®€¹€ë¡¥ |
|---|
| 155 | |
|---|
| 156 | #define TNUM_TSKID <¥¿¥¹¥¯€Î¿ô> |
|---|
| 157 | #define TNUM_SEMID <¥»¥Þ¥Õ¥©€Î¿ô> |
|---|
| 158 | #define TNUM_FLGID <¥€¥Ù¥ó¥È¥Õ¥é¥°€Î¿ô> |
|---|
| 159 | #define TNUM_DTQID <¥Ç¡Œ¥¿¥¥å¡Œ€Î¿ô> |
|---|
| 160 | #define TNUM_PDQID <Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€Î¿ô> |
|---|
| 161 | #define TNUM_MBXID <¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€Î¿ô> |
|---|
| 162 | #define TNUM_MPFID <žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€Î¿ô> |
|---|
| 163 | #define TNUM_CYCID <ŒþŽü¥Ï¥ó¥É¥é€Î¿ô> |
|---|
| 164 | #define TNUM_ALMID <¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€Î¿ô> |
|---|
| 165 | |
|---|
| 166 | (3) ¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈÖ¹æ€ÎÄêµÁ |
|---|
| 167 | |
|---|
| 168 | ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬IDÈÖ¹æ€ò³ä€êÉÕ€±€¿¥ª¥Ö¥ž¥§¥¯¥È€ÎÌŸÁ°€ò¡€³ä€êÉÕ€±€¿ |
|---|
| 169 | IDÈÖ¹æ€Ë¥Þ¥¯¥íÄêµÁ€¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#define¡Ë€òÀžÀ®€¹€ë¡¥ |
|---|
| 170 | Î〚€Ð¡€Œ¡€Î€è€Š€ÊµœÒ€òÀžÀ®€¹€ë¡¥ |
|---|
| 171 | |
|---|
| 172 | #define TASK1 1 |
|---|
| 173 | #define TASK2 2 |
|---|
| 174 | #define SEM1 1 |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | ¡û¥«¡Œ¥Í¥ë¹œÀ®¡ŠœéŽü²œ¥Õ¥¡¥€¥ë¡Êkernel_cfg.c¡Ë |
|---|
| 178 | |
|---|
| 179 | (1) žÇÄêÀžÀ®Éôʬ |
|---|
| 180 | |
|---|
| 181 | kernel_cfg.cÍрΥإåÀ¥Õ¥¡¥€¥ë€ÈIDŒ«Æ°³äÉÕ€±·ë²Ì¥Õ¥¡¥€¥ë€ò¥€¥ó¥¯¥ë¡Œ¥É |
|---|
| 182 | €¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#include¡Ë€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡ |
|---|
| 183 | €Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 184 | |
|---|
| 185 | #include "kernel/kernel_int.h" |
|---|
| 186 | #include "kernel_cfg.h" |
|---|
| 187 | |
|---|
| 188 | (2) ¥«¡Œ¥Í¥ë€ÎŒïÎà€Î¥Á¥§¥Ã¥¯ |
|---|
| 189 | |
|---|
| 190 | kernel_cfg.c€È¥«¡Œ¥Í¥ë€ÎŒïÎà€¬°ìÃ×€·€Æ€€€ë€«€ò¥Á¥§¥Ã¥¯€¹€ë€¿€á€Ë¡€Œ¡€Î |
|---|
| 191 | ¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 192 | |
|---|
| 193 | #if TKERNEL_PRID != 0x07u |
|---|
| 194 | #error The kernel does not match this configuration file. |
|---|
| 195 | #endif |
|---|
| 196 | |
|---|
| 197 | (3) ¥€¥ó¥¯¥ë¡Œ¥É¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#include¡Ë€ÎœèÍý |
|---|
| 198 | |
|---|
| 199 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŽÞ€Þ€ì€ëCžÀžì¥×¥ê¥×¥í¥»¥Ã¥µ€Î¥€ |
|---|
| 200 | ¥ó¥¯¥ë¡Œ¥É¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#include¡Ë€ÈƱ°ì€Î¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¡Ê#include¡Ë |
|---|
| 201 | €òÀžÀ®€¹€ë¡¥Î〚€Ð¡€ |
|---|
| 202 | |
|---|
| 203 | #include "sample1.h" |
|---|
| 204 | |
|---|
| 205 | €È€€€Š¥€¥ó¥¯¥ë¡Œ¥É¥Ç¥£¥ì¥¯¥Æ¥£¥Ö€ËÂЀ·€Æ¡€ |
|---|
| 206 | |
|---|
| 207 | #include "sample1.h" |
|---|
| 208 | |
|---|
| 209 | €È€€€Š¥Ç¥£¥ì¥¯¥Æ¥£¥Ö€òÀžÀ®€¹€ë¡¥ÀžÀ®€¹€ë¥Ç¥£¥ì¥¯¥Æ¥£¥Ö€Îœçœø€Ï¡€¥·¥¹¥Æ |
|---|
| 210 | ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ç€Î¥€¥ó¥¯¥ë¡Œ¥É¥Ç¥£¥ì¥¯¥Æ¥£¥Ö€Îœçœø |
|---|
| 211 | €Ë°ìÃ×€µ€»€ë¡¥ |
|---|
| 212 | |
|---|
| 213 | (4) ¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€Î¥Ç¥Õ¥©¥ë¥ÈÄêµÁ |
|---|
| 214 | |
|---|
| 215 | kernel_cfg.c€ÎÃæ€Ç»ÈÍÑ€¹€ë¥È¥ì¡Œ¥¹¥í¥°¥Þ¥¯¥í€Î¥Ç¥Õ¥©¥ë¥ÈÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 216 | ¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 217 | |
|---|
| 218 | #ifndef LOG_ISR_ENTER |
|---|
| 219 | #define LOG_ISR_ENTER(intno) |
|---|
| 220 | #endif /* LOG_ISR_ENTER */ |
|---|
| 221 | |
|---|
| 222 | #ifndef LOG_ISR_LEAVE |
|---|
| 223 | #define LOG_ISR_LEAVE(intno) |
|---|
| 224 | #endif /* LOG_ISR_LEAVE */ |
|---|
| 225 | |
|---|
| 226 | (5) ¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈÖ¹æ€òÊÝ»ý€¹€ëÊÑ¿ô€ÎÄêµÁ |
|---|
| 227 | |
|---|
| 228 | ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó»ØÄê¡Ê--external-id¡Ë€Ë€è€ê¡€¥³¥ó¥Õ¥£ |
|---|
| 229 | ¥®¥å¥ì¡Œ¥¿€¬ID ÈÖ¹æ€ò³ä€êÉÕ€±€¿¥ª¥Ö¥ž¥§¥¯¥È€ÎÌŸÁ°€ÎËöÈø€Ë"_id"€òÉղÀ· |
|---|
| 230 | €¿ÌŸÁ°€ÎÊÑ¿ô€òÀžÀ®€¹€ë¡¥ÊÑ¿ô€Ï¡€const°À€òÉղÀ·€¿ID·¿€ÎÊÑ¿ô€È€·¡€³ä€ê |
|---|
| 231 | ÉÕ€±€¿IDÈÖ¹æ€òÃ̀Ȁ¹€ë¡¥Î〚€Ð¡€Œ¡€Î€è€Š€ÊµœÒ€òÀžÀ®€¹€ë¡¥ |
|---|
| 232 | |
|---|
| 233 | const ID TASK1_id = 1; |
|---|
| 234 | const ID TASK2_id = 2; |
|---|
| 235 | const ID SEM1_id = 1; |
|---|
| 236 | |
|---|
| 237 | (6) ³Æ¥«¡Œ¥Í¥ë¥ª¥Ö¥ž¥§¥¯¥È€ËŽØ€¹€ëÄêµÁ |
|---|
| 238 | |
|---|
| 239 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ë¡€¥ª¥Ö¥ž¥§¥¯¥È€òÀžÀ®€¹€ëÀÅŪ |
|---|
| 240 | API¡ÖCRE_XXX¡×€¬ŽÞ€Þ€ì€ë³Æ¥«¡Œ¥Í¥ë¥ª¥Ö¥ž¥§¥¯¥È€ËŽØ€·€Æ¡€¥ª¥Ö¥ž¥§¥¯¥ÈÀž |
|---|
| 241 | À®€Î€¿€á€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 242 | |
|---|
| 243 | ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ï¡€Æ±€žŒïÎà€Î¥ª¥Ö¥ž¥§¥¯¥È€òÀžÀ®€¹€ëÀÅŪAPI€òœž€á¡€³Æ |
|---|
| 244 | ¥ª¥Ö¥ž¥§¥¯¥È€ËIDÈÖ¹æ€ò³ä€êÉÕ€±€ë¡¥IDÈÖ¹æ€Ï¡€ÂŸ€Î¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈÖ¹æ€È |
|---|
| 245 | œÅÊ£€¬€Ê€¯¡€IDÈֹ怬Ϣ³€¹€ë€è€Š€Ë³ä€êÉÕ€±€ë¡¥ |
|---|
| 246 | |
|---|
| 247 | ¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó»ØÄê¡Ê--id-input-file¡Ë€Ë€è€ê¡€¥³¥ó |
|---|
| 248 | ¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬¥ª¥Ö¥ž¥§¥¯¥È€Ë³ä€êÉÕ€±€ëIDÈÖ¹æ€ò»ØÄꀹ€ë€³€È€¬€Ç€€ë¡¥ |
|---|
| 249 | Ʊ€žŒïÎà€Î°Û€Ê€ë¥ª¥Ö¥ž¥§¥¯¥È€ËÂЀ·€ÆÆ±€žIDÈÖ¹æ€ò»ØÄꀷ€¿€ê¡€¥³¥ó¥Õ¥£¥®¥å |
|---|
| 250 | ¥ì¡Œ¥¿€¬IDÈÖ¹æ€ò€Ç€€ëžÂ€êϢ³€¹€ë€è€Š€Ë³ä€êÉÕ€±€¿€È€·€Æ€âIDÈֹ怬Ϣ³ |
|---|
| 251 | €·€Ê€€Ÿì¹ç€Ë€Ï¡ÊASP¥«¡Œ¥Í¥ë€Ï¡€¥ª¥Ö¥ž¥§¥¯¥È€ÎIDÈֹ怬Ϣ³€·€Æ€€€ë€³€È€ò |
|---|
| 252 | ²ŸÄꀷ€ÆŒÂÁõ€·€Æ€¢€ë¡Ë¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€Ï¥š¥é¡Œ€òÊó¹ð€¹€ë¡¥ |
|---|
| 253 | |
|---|
| 254 | €Þ€¿¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€ËÂЀ¹€ë¥ª¥×¥·¥ç¥ó»ØÄê¡Ê--id-output-file¡Ë€Ë€è |
|---|
| 255 | €ê¡€¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬IDÈÖ¹æ€ò³ä€êÉÕ€±€¿¥ª¥Ö¥ž¥§¥¯¥È€ÎÌŸÁ°€È³ä€êÉÕ€± |
|---|
| 256 | €¿IDÈÖ¹æ€ÎÁÈ€ò¡€¥ª¥×¥·¥ç¥ó€Ç»ØÄꀷ€¿¥Õ¥¡¥€¥ë€ËœÐÎÏ€¹€ë¡¥ |
|---|
| 257 | |
|---|
| 258 | ³Æ¥«¡Œ¥Í¥ë¥ª¥Ö¥ž¥§¥¯¥È€ËŽØ€¹€ëÄêµÁ€ÎÉžœàŪ€Ê¹œÀ®€Ï¡€Œ¡€ÎÄÌ€ê€Ç€¢€ë¡¥¥ª |
|---|
| 259 | ¥Ö¥ž¥§¥¯¥È€Ë€è€Ã€ÆÎã³°€¬€¢€ëŸì¹ç€Ë€Ï¡€¥ª¥Ö¥ž¥§¥¯¥ÈËè€Î¹à€ÇÀâÌÀ€¹€ë¡¥ |
|---|
| 260 | |
|---|
| 261 | (a) ºÇÂç€Î¥ª¥Ö¥ž¥§¥¯¥ÈID€ÎÊÑ¿ô€ÎÄêµÁ |
|---|
| 262 | |
|---|
| 263 | ºÇÂç€Î¥ª¥Ö¥ž¥§¥¯¥ÈID€ò»ý€ÄÊÑ¿ô€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€¥ª¥Ö¥ž¥§¥¯ |
|---|
| 264 | ¥È€ÎŸÊάµ¹æ€ò¡ÖXXX¡¿xxx¡×€È€¹€ë€È¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 265 | |
|---|
| 266 | const ID _kernel_tmax_xxxid = (TMIN_XXXID + TNUM_XXXID - 1); |
|---|
| 267 | |
|---|
| 268 | (b) ¥ª¥Ö¥ž¥§¥¯¥È€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ |
|---|
| 269 | |
|---|
| 270 | ¥ª¥Ö¥ž¥§¥¯¥È€Ë€è€Ã€Æ€Ï¡€¥ª¥Ö¥ž¥§¥¯¥È€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 271 | ¶ñÂÎŪ€Ë€Ï¡€¥ª¥Ö¥ž¥§¥¯¥ÈËè€Î¹à€ÇÀâÌÀ€¹€ë¡¥ |
|---|
| 272 | |
|---|
| 273 | (c) ¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œ¥Ö¥í¥Ã¥¯€ÎÄêµÁ |
|---|
| 274 | |
|---|
| 275 | ¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œ¥Ö¥í¥Ã¥¯€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€¥ª¥Ö¥ž¥§¥¯¥È |
|---|
| 276 | €ÎŸÊάµ¹æ€ò¡ÖXXX¡¿xxx¡×€È€¹€ë€È¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 277 | |
|---|
| 278 | const XXXINIB _kernel_xxxinib_table[TNUM_XXXID] = { |
|---|
| 279 | <¥ª¥Ö¥ž¥§¥¯¥ÈID€¬1€Î¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œŸðÊó>, |
|---|
| 280 | <¥ª¥Ö¥ž¥§¥¯¥ÈID€¬2€Î¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œŸðÊó>, |
|---|
| 281 | ¡Ä¡Ä |
|---|
| 282 | <¥ª¥Ö¥ž¥§¥¯¥ÈID€¬TNUM_XXXID€Î¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œŸðÊó> |
|---|
| 283 | }; |
|---|
| 284 | |
|---|
| 285 | ¥ª¥Ö¥ž¥§¥¯¥È€ÎœéŽü²œŸðÊó€Î·ÁŒ°€Ï¡€¥ª¥Ö¥ž¥§¥¯¥ÈËè€Ë°Û€Ê€ë¡¥¶ñÂÎŪ€Ë€Ï¡€ |
|---|
| 286 | ¥ª¥Ö¥ž¥§¥¯¥ÈËè€Î¹à€ÇÀâÌÀ€¹€ë¡¥ |
|---|
| 287 | |
|---|
| 288 | (d) ¥ª¥Ö¥ž¥§¥¯¥È€Î¥³¥ó¥È¥í¡Œ¥ë¥Ö¥í¥Ã¥¯€ÎÄêµÁ |
|---|
| 289 | |
|---|
| 290 | ¥ª¥Ö¥ž¥§¥¯¥È€Î¥³¥ó¥È¥í¡Œ¥ë¥Ö¥í¥Ã¥¯€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€¥ª¥Ö¥ž¥§ |
|---|
| 291 | ¥¯¥È€ÎŸÊάµ¹æ€ò¡ÖXXX¡¿xxx¡×€È€¹€ë€È¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 292 | |
|---|
| 293 | XXXCB _kernel_xxxcb_table[TNUM_XXXID]; |
|---|
| 294 | |
|---|
| 295 | (6-1) ¥¿¥¹¥¯€ËŽØ€¹€ëÄêµÁ |
|---|
| 296 | |
|---|
| 297 | ASP¥«¡Œ¥Í¥ë€Ï¡€¥¿¥¹¥¯€¬°ì€Ä€â€Ê€€¥±¡Œ¥¹€ËÂбþ€·€Æ€€€Ê€€€¿€á¡€¥¿¥¹¥¯€ËŽØ |
|---|
| 298 | €¹€ëÄêµÁ€Ïɬ€ºÀžÀ®€·€Ê€±€ì€Ð€Ê€é€Ê€€¡¥ |
|---|
| 299 | |
|---|
| 300 | ¥¿¥¹¥¯€ÎŸÊάµ¹æ€Ï¡ÖTSK¡×¡Ötsk¡×€Ç€¢€ë¡¥€¿€À€·¡€¥¿¥¹¥¯œéŽü²œ¥Ö¥í¥Ã¥¯€Î |
|---|
| 301 | ¥Ç¡Œ¥¿·¿€ÏTINIB¡€€œ€ÎÊÑ¿ôÌŸ€Ï_kernel_tinib_table¡€¥¿¥¹¥¯¥³¥ó¥È¥í¡Œ¥ë¥Ö |
|---|
| 302 | ¥í¥Ã¥¯€Î¥Ç¡Œ¥¿·¿€ÏTCB¡€€œ€ÎÊÑ¿ôÌŸ€Ï_kernel_tcb_table €Ç€¢€ë¡Ê€€€º€ì€â |
|---|
| 303 | ¡ÖTSK¡¿tsk¡×€ËÂ倚€Æ¡ÖT¡¿t¡×€òÍÑ€€€Æ€€€ë¡Ë¡¥ |
|---|
| 304 | |
|---|
| 305 | ¥¿¥¹¥¯œéŽü²œ¥Ö¥í¥Ã¥¯€Ë€Ï¡€¡ÖCRE_TSK¡×ÀÅŪAPI€Ç»ØÄꀵ€ì€ëŸðÊó€Ë²Ã€š€Æ¡€ |
|---|
| 306 | ¡ÖDEF_TEX¡×ÀÅŪAPI€Ç»ØÄꀵ€ì€ëŸðÊó€òŽÞ€á€ë¡¥ |
|---|
| 307 | |
|---|
| 308 | °Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì |
|---|
| 309 | €Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 310 | |
|---|
| 311 | CRE_TSK(tskid, { tskatr, exinf, task, itskpri, stksz, stk }); |
|---|
| 312 | DEF_TEX(tskid, { texatr, texrtn }); |
|---|
| 313 | |
|---|
| 314 | (6-1-1) ¥¿¥¹¥¯€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ |
|---|
| 315 | |
|---|
| 316 | ¥¿¥¹¥¯€ËɬÍ׀ʥá¥â¥êÎΰè€È€·€Æ¡€¥¿¥¹¥¯€Î¥¹¥¿¥Ã¥¯Îΰ耬€¢€ë¡¥stk€¬NULL€Î |
|---|
| 317 | Ÿì¹ç€Ë€Ï¡€ÀžÀ®€¹€ë¥¿¥¹¥¯Ëè€Ë¡€»ØÄꀵ€ì€¿¥µ¥€¥º€Î¥¹¥¿¥Ã¥¯Îΰè€ò³ÎÊÝ€¹€ë¡¥ |
|---|
| 318 | ¶ñÂÎŪ€Ë€Ï¡€Ÿåµ€ÎÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 319 | |
|---|
| 320 | ¡östk€¬NULL€ÎŸì¹ç€Î€ßÀžÀ® |
|---|
| 321 | static STK_T _kernel_stack_<¥¿¥¹¥¯ÌŸ>[COUNT_STK_T(stksz)]; |
|---|
| 322 | |
|---|
| 323 | (6-1-2) ¥¿¥¹¥¯€ÎœéŽü²œŸðÊó |
|---|
| 324 | |
|---|
| 325 | ¥¿¥¹¥¯œéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥¿¥¹¥¯€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 326 | |
|---|
| 327 | { (tskatr), (intptr_t)(exinf), (task), INT_PRIORITY(itskpri), |
|---|
| 328 | (stksz), (stk), (texatr), (texrtn) } |
|---|
| 329 | |
|---|
| 330 | €³€³€Ç¡€stk€¬NULL€ÎŸì¹ç€Ë€Ï¡€(stksz)€ËÂ倚€ÆROUND_STK_T(stksz)€ò¡€ |
|---|
| 331 | (stk)€ËÂ倚€Æ(_kernel_stack_<¥¿¥¹¥¯ÌŸ>)€òÀžÀ®€¹€ë¡¥CRE_TSK€ËÂбþ€¹€ë |
|---|
| 332 | DEF_TEX€¬€Ê€€Ÿì¹ç€Ë€Ï¡€texatr€òTA_NULL¡€texrtn€òNULL€È€¹€ë¡¥ |
|---|
| 333 | |
|---|
| 334 | (6-1-3) ¥¿¥¹¥¯ÀžÀ®œçœø¥Æ¡Œ¥Ö¥ë€ÎÄêµÁ |
|---|
| 335 | |
|---|
| 336 | ¥¿¥¹¥¯€ËÂЀ·€Æ€Ï¡€ÀžÀ®€µ€ì€¿œçœø¡Ê¥¿¥¹¥¯€òÀžÀ®€¹€ëÀÅŪAPI€¬µœÒ€µ€ì€¿ |
|---|
| 337 | œçœø¡Ë€ò¥Æ¡Œ¥Ö¥ë€ËœÐÎÏ€¹€ëɬÍ×€¬€¢€ë¡¥€³€ì€Ï¡€¥¿¥¹¥¯€ÎÀžÀ®€µ€ì€¿œçœø€Ç¡€ |
|---|
| 338 | ¥¿¥¹¥¯€ÎœéŽü²œ¡Ê€è€ê¶ñÂÎŪ€Ë€Ï¡€¥¿¥¹¥¯€Îµ¯Æ°¡Ë€ò¹Ô€ŠÉ¬Í×€¬€¢€ë€¿€á€Ç€¢ |
|---|
| 339 | €ë¡¥ |
|---|
| 340 | |
|---|
| 341 | ¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 342 | |
|---|
| 343 | const ID _kernel_torder_table[TNUM_TSKID] = { |
|---|
| 344 | <ºÇœé€ËÀžÀ®€µ€ì€¿¥¿¥¹¥¯€Î¥¿¥¹¥¯ID>, |
|---|
| 345 | <2ÈÖÌÜ€ËÀžÀ®€µ€ì€¿¥¿¥¹¥¯€Î¥¿¥¹¥¯ID>, |
|---|
| 346 | ¡Ä¡Ä |
|---|
| 347 | <ºÇžå€ËÀžÀ®€µ€ì€¿¥¿¥¹¥¯€Î¥¿¥¹¥¯ID> |
|---|
| 348 | }; |
|---|
| 349 | |
|---|
| 350 | (6-1-4) ¥š¥é¡ŒŸò·ï |
|---|
| 351 | |
|---|
| 352 | ¥¿¥¹¥¯€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 353 | |
|---|
| 354 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 355 | ¡ŠÆ±€žtskid€ËÂЀ¹€ëCRE_TSK€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 356 | ¡ŠDEF_TEX€ËÂбþ€¹€ëCRE_TSK€¬€Ê€€Ÿì¹ç¡ÊE_NOEXS¡Ë |
|---|
| 357 | ¡ŠÆ±€žtskid€ËÂЀ¹€ëDEF_TEX€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 358 | |
|---|
| 359 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 360 | ¡Štskatr€¬¡Ê¡ÎTA_ACT¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 361 | ¢š ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç¥¿¥¹¥¯Â°À€òÄɲòġÊTARGET_TSKATR¡Ë |
|---|
| 362 | ¡Š(TMIN_TPRI <= itskpri && itskpri <= TMAX_TPRI)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 363 | ¡Šstksz€¬0°Ê²Œ€«¡€¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÎºÇŸ®ÃÍ¡ÊTARGET_MIN_STKSZ¡Ë€è€ê€âŸ®€µ |
|---|
| 364 | ¡¡€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 365 | ¡Šstksz€¬¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 366 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_STKSZ_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 367 | ¢š €³€Î¥š¥é¡Œ¥Á¥§¥Ã¥¯€Ï¡€stk€¬NULL€Ç€Ê€€Ÿì¹ç€Ë€Î€ß¹Ô€Š |
|---|
| 368 | ¡Štexatr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 369 | |
|---|
| 370 | ¡ö¥Ñ¥¹3€Çž¡œÐ€¹€ë€â€Î |
|---|
| 371 | ¡Štask€Ètexrtn€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 372 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_FUNC_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 373 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_FUNC_NONNULL¡Ë |
|---|
| 374 | ¡Šstk€¬¥¹¥¿¥Ã¥¯Îΰè€ÎÀèÆ¬ÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 375 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_STACK_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 376 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_STACK_NONNULL¡Ë |
|---|
| 377 | |
|---|
| 378 | (6-2) ¥»¥Þ¥Õ¥©€ËŽØ€¹€ëÄêµÁ |
|---|
| 379 | |
|---|
| 380 | ¥»¥Þ¥Õ¥©€ÎŸÊάµ¹æ€Ï¡ÖSEM¡¿sem¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ |
|---|
| 381 | ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù |
|---|
| 382 | €ë¡¥€Ê€ª¡€¥»¥Þ¥Õ¥©€ËɬÍ׀ʥá¥â¥êÎΰè€Ï€Ê€€¡¥ |
|---|
| 383 | |
|---|
| 384 | CRE_SEM(semid, { sematr, isemcnt, maxsem }); |
|---|
| 385 | |
|---|
| 386 | (6-2-1) ¥»¥Þ¥Õ¥©€ÎœéŽü²œŸðÊó |
|---|
| 387 | |
|---|
| 388 | ¥»¥Þ¥Õ¥©œéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥»¥Þ¥Õ¥©€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹ |
|---|
| 389 | €ë¡¥ |
|---|
| 390 | |
|---|
| 391 | { (sematr), (isemcnt), (maxsem) } |
|---|
| 392 | |
|---|
| 393 | (6-2-2) ¥š¥é¡ŒŸò·ï |
|---|
| 394 | |
|---|
| 395 | ¥»¥Þ¥Õ¥©€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 396 | |
|---|
| 397 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 398 | ¡ŠÆ±€žsemid€ËÂЀ¹€ëCRE_SEM€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 399 | |
|---|
| 400 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 401 | ¡Šsematr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 402 | ¡Š(0 <= isemcnt && isemcnt <= maxsem)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 403 | ¡Š(1 <= maxsem && maxsem <= TMAX_MAXSEM)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 404 | |
|---|
| 405 | (6-3) ¥€¥Ù¥ó¥È¥Õ¥é¥°€ËŽØ€¹€ëÄêµÁ |
|---|
| 406 | |
|---|
| 407 | ¥€¥Ù¥ó¥È¥Õ¥é¥°€ÎŸÊάµ¹æ€Ï¡ÖFLG¡¿flg¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£ |
|---|
| 408 | ¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä |
|---|
| 409 | €€€ÆœÒ€Ù€ë¡¥€Ê€ª¡€¥€¥Ù¥ó¥È¥Õ¥é¥°€ËɬÍ׀ʥá¥â¥êÎΰè€Ï€Ê€€¡¥ |
|---|
| 410 | |
|---|
| 411 | CRE_FLG(flgid, { flgatr, iflgptn }); |
|---|
| 412 | |
|---|
| 413 | (6-3-1) ¥€¥Ù¥ó¥È¥Õ¥é¥°€ÎœéŽü²œŸðÊó |
|---|
| 414 | |
|---|
| 415 | ¥€¥Ù¥ó¥È¥Õ¥é¥°œéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥€¥Ù¥ó¥È¥Õ¥é¥°€ÎœéŽü²œŸðÊó€Ï¡€ |
|---|
| 416 | Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 417 | |
|---|
| 418 | { (flgatr), (iflgptn) } |
|---|
| 419 | |
|---|
| 420 | (6-3-2) ¥š¥é¡ŒŸò·ï |
|---|
| 421 | |
|---|
| 422 | ¥€¥Ù¥ó¥È¥Õ¥é¥°€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 423 | |
|---|
| 424 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 425 | ¡ŠÆ±€žflgid€ËÂЀ¹€ëCRE_FLG€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 426 | |
|---|
| 427 | ¡ö¥Ñ¥¹1€Çž¡œÐ€¹€ë€â€Î |
|---|
| 428 | ¡Šiflgptn€¬FLGPTN€Ë³ÊÇŒ€Ç€€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 429 | ¢ª iflgptn€¬uint32_t€Ë³ÊÇŒ€Ç€€Ê€€Ÿì¹ç€Ï¡€cfg1_out.c€Î¥³¥ó¥Ñ¥€¥ë»þ |
|---|
| 430 | €Ë¥š¥é¡Œ€È€Ê€ë¡¥ |
|---|
| 431 | |
|---|
| 432 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 433 | ¡Šflgatr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ã¡ÎTA_WMUL¡Ï¡Ã¡ÎTA_CLR¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 434 | ¡Šiflgptn€¬FLGPTN€Ë³ÊÇŒ€Ç€€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 435 | ¢ª iflgptn€¬uint32_t€Ë€Ï³ÊÇŒ€Ç€€ë€¬¡€FLGPTN€Ë³ÊÇŒ€Ç€€Ê€€Ÿì¹ç€Ï¡€ |
|---|
| 436 | ¥Ñ¥¹2€Ç¥š¥é¡Œ€òž¡œÐ€¹€ë¡¥ |
|---|
| 437 | |
|---|
| 438 | (6-4) ¥Ç¡Œ¥¿¥¥å¡Œ€ËŽØ€¹€ëÄêµÁ |
|---|
| 439 | |
|---|
| 440 | ¥Ç¡Œ¥¿¥¥å¡Œ€ÎŸÊάµ¹æ€Ï¡ÖDTQ¡¿dtq¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å |
|---|
| 441 | ¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€Æ |
|---|
| 442 | œÒ€Ù€ë¡¥ |
|---|
| 443 | |
|---|
| 444 | CRE_DTQ(dtqid, { dtqatr, dtqcnt, dtqmb }); |
|---|
| 445 | |
|---|
| 446 | (6-4-1) ¥Ç¡Œ¥¿¥¥å¡Œ€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ |
|---|
| 447 | |
|---|
| 448 | ¥Ç¡Œ¥¿¥¥å¡Œ€ËɬÍ׀ʥá¥â¥êÎΰè€È€·€Æ¡€¥Ç¡Œ¥¿¥¥å¡ŒŽÉÍýÎΰ耬€¢€ë¡¥ÀžÀ® |
|---|
| 449 | €¹€ë¥Ç¡Œ¥¿¥¥å¡ŒËè€Ë¡€É¬Í׀ʥµ¥€¥º€Î¥Ç¡Œ¥¿¥¥å¡ŒŽÉÍýÎΰè€òÄêµÁ€¹€ë¡¥¶ñ |
|---|
| 450 | ÂÎŪ€Ë€Ï¡€Ÿåµ€ÎÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 451 | |
|---|
| 452 | ¡ödtqcnt€¬0€Ç€Ê€€Ÿì¹ç€Î€ßÀžÀ® |
|---|
| 453 | static DTQMB _kernel_dtqmb_<¥Ç¡Œ¥¿¥¥å¡ŒÌŸ>[dtqcnt]; |
|---|
| 454 | |
|---|
| 455 | (6-4-2) ¥Ç¡Œ¥¿¥¥å¡Œ€ÎœéŽü²œŸðÊó |
|---|
| 456 | |
|---|
| 457 | ¥Ç¡Œ¥¿¥¥å¡ŒœéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥Ç¡Œ¥¿¥¥å¡Œ€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î |
|---|
| 458 | ·ÁŒ°€È€¹€ë¡¥ |
|---|
| 459 | |
|---|
| 460 | { (dtqatr), (dtqcnt), (_kernel_dtqmb_<¥Ç¡Œ¥¿¥¥å¡ŒÌŸ>) } |
|---|
| 461 | |
|---|
| 462 | €³€³€Ç¡€dtqcnt€¬0€ÎŸì¹ç€Ë€Ï¡€_kernel_dtqmb_<¥Ç¡Œ¥¿¥¥å¡ŒÌŸ>€ËÂ倚€Æ¡€ |
|---|
| 463 | NULL€òÍÑ€€€ë¡¥ |
|---|
| 464 | |
|---|
| 465 | (6-4-3) ¥š¥é¡ŒŸò·ï |
|---|
| 466 | |
|---|
| 467 | ¥Ç¡Œ¥¿¥¥å¡Œ€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 468 | |
|---|
| 469 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 470 | ¡ŠÆ±€ždtqid€ËÂЀ¹€ëCRE_DTQ€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 471 | |
|---|
| 472 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 473 | ¡Šdtqatr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 474 | ¡Šdtqcnt€¬Éé€ÎÃ̀Οì¹ç¡ÊE_PAR¡Ë |
|---|
| 475 | ¡Šdtqmb€¬NULL€Ç€Ê€€Ÿì¹ç¡ÊE_NOSPT¡Ë |
|---|
| 476 | |
|---|
| 477 | (6-5) Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ËŽØ€¹€ëÄêµÁ |
|---|
| 478 | |
|---|
| 479 | Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ÎŸÊάµ¹æ€Ï¡ÖPDQ¡¿pdq¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³ |
|---|
| 480 | ¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€Ÿð |
|---|
| 481 | Êó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 482 | |
|---|
| 483 | CRE_PDQ(ID pdqid, { pdqatr, pdqcnt, maxdpri, pdqmb }); |
|---|
| 484 | |
|---|
| 485 | (6-5-1) Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ |
|---|
| 486 | |
|---|
| 487 | Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ËɬÍ׀ʥá¥â¥êÎΰè€È€·€Æ¡€Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒŽÉÍýÎΰè |
|---|
| 488 | €¬€¢€ë¡¥ÀžÀ®€¹€ëÍ¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒËè€Ë¡€É¬Í׀ʥµ¥€¥º€ÎÍ¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ |
|---|
| 489 | ŽÉÍýÎΰè€òÄêµÁ€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Ÿåµ€ÎÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€ÎÄêµÁ€òÀžÀ®€¹ |
|---|
| 490 | €ë¡¥ |
|---|
| 491 | |
|---|
| 492 | ¡öpdqcnt€¬0€Ç€Ê€€Ÿì¹ç€Î€ßÀžÀ® |
|---|
| 493 | static PDQMB _kernel_pdqmb_<Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒÌŸ>[pdqcnt]; |
|---|
| 494 | |
|---|
| 495 | (6-5-2) Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ÎœéŽü²œŸðÊó |
|---|
| 496 | |
|---|
| 497 | Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒœéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ëÍ¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ÎœéŽü²œ |
|---|
| 498 | ŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 499 | |
|---|
| 500 | { (pdqatr), (pdqcnt), (maxdpri), (_kernel_pdqmb_<Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒÌŸ>) } |
|---|
| 501 | |
|---|
| 502 | €³€³€Ç¡€pdqcnt€¬0€ÎŸì¹ç€Ë€Ï¡€_kernel_pdqmb_<Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡ŒÌŸ>€ËÂ倚 |
|---|
| 503 | €Æ¡€NULL€òÍÑ€€€ë¡¥ |
|---|
| 504 | |
|---|
| 505 | (6-5-3) ¥š¥é¡ŒŸò·ï |
|---|
| 506 | |
|---|
| 507 | Í¥ÀèÅ٥ǡŒ¥¿¥¥å¡Œ€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 508 | |
|---|
| 509 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 510 | ¡ŠÆ±€žpdqid€ËÂЀ¹€ëCRE_PDQ€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 511 | |
|---|
| 512 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 513 | ¡Špdqatr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 514 | ¡Špdqcnt€¬Éé€ÎÃ̀Οì¹ç¡ÊE_PAR¡Ë |
|---|
| 515 | ¡Š(TMIN_DPRI <= maxdpri && maxdpri <= TMAX_DPRI)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 516 | ¡Špdqmb€¬NULL€Ç€Ê€€Ÿì¹ç¡ÊE_NOSPT¡Ë |
|---|
| 517 | |
|---|
| 518 | (6-6) ¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ËŽØ€¹€ëÄêµÁ |
|---|
| 519 | |
|---|
| 520 | ¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ÎŸÊάµ¹æ€Ï¡ÖMBX¡¿mbx¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£ |
|---|
| 521 | ¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä |
|---|
| 522 | €€€ÆœÒ€Ù€ë¡¥€Ê€ª¡€¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ËɬÍ׀ʥá¥â¥êÎΰè€Ï€Ê€€¡¥ |
|---|
| 523 | |
|---|
| 524 | CRE_MBX(mbxid, { mbxatr, maxmpri, mprihd }); |
|---|
| 525 | |
|---|
| 526 | (6-6-1) ¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ÎœéŽü²œŸðÊó |
|---|
| 527 | |
|---|
| 528 | ¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹œéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ÎœéŽü²œŸðÊó€Ï¡€ |
|---|
| 529 | Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 530 | |
|---|
| 531 | { (mbxatr), (maxmpri) } |
|---|
| 532 | |
|---|
| 533 | (6-6-2) ¥š¥é¡ŒŸò·ï |
|---|
| 534 | |
|---|
| 535 | ¥á¡Œ¥ë¥Ü¥Ã¥¯¥¹€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 536 | |
|---|
| 537 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 538 | ¡ŠÆ±€žmbxid€ËÂЀ¹€ëCRE_MBX€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 539 | |
|---|
| 540 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 541 | ¡Šmbxatr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ã¡ÎTA_MPRI¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 542 | ¡Š(TMIN_MPRI <= maxmpri && maxmpri <= TMAX_MPRI)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 543 | ¡Šmprihd€¬NULL€Ç€Ê€€Ÿì¹ç¡ÊE_NOSPT¡Ë |
|---|
| 544 | |
|---|
| 545 | (6-7) žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ËŽØ€¹€ëÄêµÁ |
|---|
| 546 | |
|---|
| 547 | žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ÎŸÊάµ¹æ€Ï¡ÖMPF¡¿mpf¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³ |
|---|
| 548 | ¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€Ÿð |
|---|
| 549 | Êó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 550 | |
|---|
| 551 | CRE_MPF(mpfid, { mpfatr, blkcnt, blksz, mpf, mpfmb }); |
|---|
| 552 | |
|---|
| 553 | (6-7-1) žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ËɬÍ׀ʥá¥â¥êÎΰè€ÎÄêµÁ |
|---|
| 554 | |
|---|
| 555 | žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ËɬÍ׀ʥá¥â¥êÎΰè€È€·€Æ¡€žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ÈžÇ |
|---|
| 556 | ÄêĹ¥á¥â¥ê¥×¡Œ¥ëŽÉÍýÎΰ耬€¢€ë¡¥ÀžÀ®€¹€ëžÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëËè€Ë¡€É¬Í×€Ê |
|---|
| 557 | ¥µ¥€¥º€ÎžÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè¡Êmpf€¬NULL€ÎŸì¹ç€Î€ß¡Ë€ÈžÇÄêĹ¥á¥â¥ê¥×¡Œ |
|---|
| 558 | ¥ëŽÉÍýÎΰè€ò³ÎÊÝ€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Ÿåµ€ÎÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€ÎÄêµÁ€òÀžÀ® |
|---|
| 559 | €¹€ë¡¥ |
|---|
| 560 | |
|---|
| 561 | ¡ömpf€¬NULL€ÎŸì¹ç€Î€ßÀžÀ® |
|---|
| 562 | static MPF_T _kernel_mpf_<žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÌŸ>[(blkcnt) * COUNT_MPF_T(blksz)]; |
|---|
| 563 | |
|---|
| 564 | ¡öɬ€ºÀžÀ® |
|---|
| 565 | static MPFMB _kernel_mpfmb_<žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÌŸ>[blkcnt]; |
|---|
| 566 | |
|---|
| 567 | (6-7-2) žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ÎœéŽü²œŸðÊó |
|---|
| 568 | |
|---|
| 569 | žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëœéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ëžÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ÎœéŽü²œ |
|---|
| 570 | ŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 571 | |
|---|
| 572 | { (mpfatr), (blkcnt), ROUND_MPF_T(blksz), mpf, |
|---|
| 573 | (_kernel_mpfmb_<žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÌŸ>) } |
|---|
| 574 | |
|---|
| 575 | €³€³€Ç¡€mpf€¬NULL€ÎŸì¹ç€Ë€Ï¡€mpf€ËÂ倚€Æ¡€_kernel_mpf_<žÇÄêĹ¥á¥â¥ê¥×¡Œ |
|---|
| 576 | ¥ëÌŸ>€òÍÑ€€€ë¡¥ |
|---|
| 577 | |
|---|
| 578 | (6-7-3) ¥š¥é¡ŒŸò·ï |
|---|
| 579 | |
|---|
| 580 | žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ë€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 581 | |
|---|
| 582 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 583 | ¡ŠÆ±€žmpfid€ËÂЀ¹€ëCRE_MPF€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 584 | |
|---|
| 585 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 586 | ¡Šmpfatr€¬¡Ê¡ÎTA_TPRI¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 587 | ¡Šblkcnt€¬0°Ê²Œ€ÎŸì¹ç¡ÊE_PAR¡Ë |
|---|
| 588 | ¡Šblksz€¬0°Ê²Œ€ÎŸì¹ç¡ÊE_PAR¡Ë |
|---|
| 589 | ¡Šmpfmb€¬NULL€Ç€Ê€€Ÿì¹ç¡ÊE_NOSPT¡Ë |
|---|
| 590 | |
|---|
| 591 | ¡ö¥Ñ¥¹3€Çž¡œÐ€¹€ë€â€Î |
|---|
| 592 | ¡Šmpf€¬žÇÄêĹ¥á¥â¥ê¥×¡Œ¥ëÎΰè€ÎÀèÆ¬ÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 593 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_MPF_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 594 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_MPF_NONNULL¡Ë |
|---|
| 595 | |
|---|
| 596 | (6-8) ŒþŽü¥Ï¥ó¥É¥é€ËŽØ€¹€ëÄêµÁ |
|---|
| 597 | |
|---|
| 598 | ŒþŽü¥Ï¥ó¥É¥é€ÎŸÊάµ¹æ€Ï¡ÖCYC¡¿cyc¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£ |
|---|
| 599 | ¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä |
|---|
| 600 | €€€ÆœÒ€Ù€ë¡¥€Ê€ª¡€ŒþŽü¥Ï¥ó¥É¥é€ËɬÍ׀ʥá¥â¥êÎΰè€Ï€Ê€€¡¥ |
|---|
| 601 | |
|---|
| 602 | CRE_CYC(cycid, { cycatr, exinf, cychdr, cyctim, cycphs }); |
|---|
| 603 | |
|---|
| 604 | (6-8-1) ŒþŽü¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó |
|---|
| 605 | |
|---|
| 606 | ŒþŽü¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ëŒþŽü¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î |
|---|
| 607 | ·ÁŒ°€È€¹€ë¡¥ |
|---|
| 608 | |
|---|
| 609 | { (cycatr), (intptr_t)(exinf), (cychdr), (cyctim), (cycphs) } |
|---|
| 610 | |
|---|
| 611 | (6-8-2) ¥š¥é¡ŒŸò·ï |
|---|
| 612 | |
|---|
| 613 | ŒþŽü¥Ï¥ó¥É¥é€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 614 | |
|---|
| 615 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 616 | ¡ŠÆ±€žcycid€ËÂЀ¹€ëCRE_CYC€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 617 | |
|---|
| 618 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 619 | ¡Šcycatr€¬¡Ê¡ÎTA_STA¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 620 | ¡Š(0 < cyctim && cyctim <= TMAX_RELTIM)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 621 | ¡Š(0 <= cycphs && cycphs <= TMAX_RELTIM)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 622 | ¡Š·Ù¹ð¡§cycatr€ËTA_STA€¬ÀßÄꀵ€ì€Æ€€€Æ¡€(cycphs == 0)€ÎŸì¹ç |
|---|
| 623 | |
|---|
| 624 | ¡ö¥Ñ¥¹3€Çž¡œÐ€¹€ë€â€Î |
|---|
| 625 | ¡Šcychdr€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 626 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_FUNC_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 627 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_FUNC_NONNULL¡Ë |
|---|
| 628 | |
|---|
| 629 | (6-9) ¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ËŽØ€¹€ëÄêµÁ |
|---|
| 630 | |
|---|
| 631 | ¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ÎŸÊάµ¹æ€Ï¡ÖALM¡¿alm¡×€Ç€¢€ë¡¥°Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó |
|---|
| 632 | ¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó |
|---|
| 633 | €Ë€Ä€€€ÆœÒ€Ù€ë¡¥€Ê€ª¡€¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ËɬÍ׀ʥá¥â¥êÎΰè€Ï€Ê€€¡¥ |
|---|
| 634 | |
|---|
| 635 | CRE_ALM(ID almid, { almatr, (intptr_t)(exinf), almhdr }); |
|---|
| 636 | |
|---|
| 637 | (6-9-1) ¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó |
|---|
| 638 | |
|---|
| 639 | ¥¢¥é¡Œ¥à¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯Ãæ€ËÀžÀ®€¹€ë¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó |
|---|
| 640 | €Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 641 | |
|---|
| 642 | { (almatr), (exinf), (almhdr) } |
|---|
| 643 | |
|---|
| 644 | (6-9-2) ¥š¥é¡ŒŸò·ï |
|---|
| 645 | |
|---|
| 646 | ¥¢¥é¡Œ¥à¥Ï¥ó¥É¥é€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 647 | |
|---|
| 648 | ¡ö¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿ËÜÂ΀¬ž¡œÐ€¹€ë€â€Î |
|---|
| 649 | ¡ŠÆ±€žalmid€ËÂЀ¹€ëCRE_ALM€¬Ê£¿ô€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 650 | |
|---|
| 651 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 652 | ¡Šalmatr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 653 | |
|---|
| 654 | ¡ö¥Ñ¥¹3€Çž¡œÐ€¹€ë€â€Î |
|---|
| 655 | ¡Šalmhdr€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 656 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_FUNC_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 657 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_FUNC_NONNULL¡Ë |
|---|
| 658 | |
|---|
| 659 | (7) ³ä¹þ€ß€ËŽØ€¹€ëÄêµÁ |
|---|
| 660 | |
|---|
| 661 | ³ä¹þ€ß€ËŽØ€·€ÆÀžÀ®€¹€ëŸðÊó€Ï¡€¥¿¡Œ¥²¥Ã¥ÈËè€ËÄê€á€ë€³€È€¬€Ç€€ë¡¥¥¿¡Œ¥²¥Ã |
|---|
| 662 | ¥ÈËè€ËÄê€á€Ê€€Ÿì¹ç€Ë€Ï¡€°Ê²Œ€ÇœÒ€Ù€ë¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Ê€€ÉžœàŪ€ÊŸðÊó |
|---|
| 663 | €òÀžÀ®€¹€ë¡¥¥¿¡Œ¥²¥Ã¥ÈËè€ËÄê€á€ëŸì¹ç€Ë€Ï¡€(7-1)€È(7-3)€ËœÒ€Ù€ëŸðÊó€ÏÀž |
|---|
| 664 | À®€·€Ê€€¡Ê(7-2)€ËœÒ€Ù€ëŸðÊó€ÏÀžÀ®€¹€ë¡Ë¡¥ |
|---|
| 665 | |
|---|
| 666 | (7-1) ³ä¹þ€ßÍ×µá¥é¥€¥ó€ËŽØ€¹€ëÄêµÁ |
|---|
| 667 | |
|---|
| 668 | ³ä¹þ€ßÍ×µá¥é¥€¥ó€Î°À€òÀßÄꀹ€ëÀÅŪAPI¡ÖCFG_INT¡×€ÇÀßÄꀷ€¿³ä¹þ€ßÍ×µá |
|---|
| 669 | ¥é¥€¥ó€ËŽØ€¹€ëÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€ÏŒ¡€ÎÄ̀ꡥ |
|---|
| 670 | |
|---|
| 671 | °Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì |
|---|
| 672 | €Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 673 | |
|---|
| 674 | CFG_INT(INTNO intno, { intatr, intpri }); |
|---|
| 675 | |
|---|
| 676 | (7-1-1) ÀßÄꀹ€ë³ä¹þ€ßÍ×µá¥é¥€¥ó€Î¿ô |
|---|
| 677 | |
|---|
| 678 | ÀßÄꀹ€ë³ä¹þ€ßÍ×µá¥é¥€¥ó€Î¿ô€ò¥Þ¥¯¥íÄêµÁ€¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£ |
|---|
| 679 | ¥Ö¡Ê#define¡Ë€òÀžÀ®€¹€ë¡¥€Þ€¿¡€€œ€ÎÃÍ€ò»ý€ÄÊÑ¿ô€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ |
|---|
| 680 | €Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 681 | |
|---|
| 682 | #define TNUM_INTNO <ÀßÄꀹ€ë³ä¹þ€ßÍ×µá¥é¥€¥ó€Î¿ô> |
|---|
| 683 | const uint_t _kernel_tnum_intno = TNUM_INTNO; |
|---|
| 684 | |
|---|
| 685 | (7-1-2) ³ä¹þ€ßÍ×µá¥é¥€¥óœéŽü²œ¥Ö¥í¥Ã¥¯€ÎÄêµÁ |
|---|
| 686 | |
|---|
| 687 | ³ä¹þ€ßÍ×µá¥é¥€¥óœéŽü²œ¥Ö¥í¥Ã¥¯€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀž |
|---|
| 688 | À®€¹€ë¡¥ |
|---|
| 689 | |
|---|
| 690 | const INTINIB _kernel_intinib_table[TNUM_INTNO] = { |
|---|
| 691 | <³ä¹þ€ßÍ×µá¥é¥€¥ó1€ÎœéŽü²œŸðÊó>, |
|---|
| 692 | <³ä¹þ€ßÍ×µá¥é¥€¥ó2€ÎœéŽü²œŸðÊó>, |
|---|
| 693 | ¡Ä¡Ä |
|---|
| 694 | <³ä¹þ€ßÍ×µá¥é¥€¥óTNUM_INTNO€ÎœéŽü²œŸðÊó> |
|---|
| 695 | }; |
|---|
| 696 | |
|---|
| 697 | €³€ÎÃæ€Î³ä¹þ€ßÍ×µá¥é¥€¥ó€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 698 | |
|---|
| 699 | { (intno), (intatr), (intpri) } |
|---|
| 700 | |
|---|
| 701 | (7-1-3) ¥š¥é¡ŒŸò·ï |
|---|
| 702 | |
|---|
| 703 | ³ä¹þ€ßÍ×µá¥é¥€¥ó€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 704 | |
|---|
| 705 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 706 | ¡Šintno€¬CFG_INT€ËÂЀ¹€ë³ä¹þ€ßÈÖ¹æ€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 707 | ¡Šintno€¬CFG_INT€Ë€è€Ã€ÆÀßÄêºÑ€ß€ÎŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 708 | ¡Šintatr€¬¡Ê¡ÎTA_ENAINT¡Ï¡Ã¡ÎTA_EDGE¡Ï¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 709 | ¢š ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç³ä¹þ€ß°À€òÄɲòġÊTARGET_INTATR¡Ë |
|---|
| 710 | ¡Š¥«¡Œ¥Í¥ëŽÉÍý€ËžÇÄꀵ€ì€Æ€€€ëintno€ËÂЀ·€Æ¡€intpri€ËTMIN_INTPRI€è€ê€â |
|---|
| 711 | ¡¡Ÿ®€µ€€ÃÍ€¬»ØÄꀵ€ì€¿Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 712 | ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€ËžÇÄꀵ€ì€Æ€€€ëintno€ËÂЀ·€Æ¡€intpri€ËTMIN_INTPRI€è€ê |
|---|
| 713 | ¡¡€âŸ®€µ€€ÃÍ€¬»ØÄꀵ€ì€Ê€«€Ã€¿Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 714 | ¡Šintpri€¬CFG_INT€ËÂЀ¹€ë³ä¹þ€ßÍ¥ÀèÅـȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 715 | |
|---|
| 716 | ¡öɬÍ׀˱þ€ž€Æ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 717 | ¡Šintatr€¬³ä¹þ€ß°À€È€·€ÆÀßÄê€Ç€€Ê€€Ã̀Οì¹ç¡ÊE_RSATR¡Ë |
|---|
| 718 | ¡Šintpri€¬³ä¹þ€ßÍ¥ÀèÅـȀ·€ÆÀßÄê€Ç€€Ê€€Ã̀Οì¹ç¡ÊE_PAR¡Ë |
|---|
| 719 | ¡ŠÆ±°ì€Î³ä¹þ€ßÍ¥ÀèÅÙ€·€«ÀßÄê€Ç€€Ê€€³ä¹þ€ßÍ×µá¥é¥€¥ó€ËÂЀ·€Æ¡€°Û€Ê€ë³ä |
|---|
| 720 | ¡¡¹þ€ßÍ¥ÀèÅÙ€òÀßÄꀷ€¿Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 721 | |
|---|
| 722 | (7-2) ³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ËŽØ€¹€ëÄêµÁ |
|---|
| 723 | |
|---|
| 724 | (7-2-1) ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÀžÀ® |
|---|
| 725 | |
|---|
| 726 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€ËŽÞ€Þ€ì€ë³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á |
|---|
| 727 | ¥ó€òÄɲÀ¹€ëÀÅŪAPI¡ÖATT_ISR¡×€ËÂЀ·€Æ¡€Æ±°ì€Î³ä¹þ€ßÈÖ¹æ€ËÂЀ·€ÆÄɲÀµ |
|---|
| 728 | €ì€¿³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€òœç€ËžÆ€ÓœÐ€¹ŽØ¿ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 729 | |
|---|
| 730 | ¶ñÂÎŪ€Ë€Ï¡€Æ±°ì€Î³ä¹þ€ßÈÖ¹æ€ËÂЀ·€Æ³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€òÄɲÀ¹€ë |
|---|
| 731 | |
|---|
| 732 | ATT_ISR({ isratr_1, exinf_1, intno, isr_1, isrpri_1 }); |
|---|
| 733 | ATT_ISR({ isratr_2, exinf_2, intno, isr_2, isrpri_2 }); |
|---|
| 734 | ¡Ä¡Ä |
|---|
| 735 | ATT_ISR({ isratr_n, exinf_n, intno, isr_n, isrpri_n }); |
|---|
| 736 | |
|---|
| 737 | €È€€€ŠÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€Î€è€Š€ÊŽØ¿ô€òÀžÀ®€¹€ë¡¥€³€³€Ç¡€isrpri_1¡€ |
|---|
| 738 | isrpri_2¡€¡Ä¡Ä¡€isrpri_n€Ï¡€Ã̀Ο®€µ€€œç€ËÊ€ÙÂØ€š€é€ì€Æ€€€ë€â€Î€È€¹€ë¡¥ |
|---|
| 739 | ÃÍ€¬Æ±€ž€â€Î€ÎŽÖ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ç€ÎÀÅŪ |
|---|
| 740 | API€Îœçœø€ÎÄÌ€ê€ËÊ€ó€Ç€€€ë€â€Î€È€¹€ë¡¥ |
|---|
| 741 | |
|---|
| 742 | static void |
|---|
| 743 | _kernel_inthdr_<intno>(void) |
|---|
| 744 | { |
|---|
| 745 | PRI saved_ipm; |
|---|
| 746 | |
|---|
| 747 | i_begin_int(intno); |
|---|
| 748 | saved_ipm = i_get_ipm(); |
|---|
| 749 | |
|---|
| 750 | LOG_ISR_ENTER(<intno>); /* ISR1€ÎžÆœÐ€· */ |
|---|
| 751 | isr_1((intptr_t)(exinf_1)); |
|---|
| 752 | LOG_ISR_LEAVE(intno); |
|---|
| 753 | |
|---|
| 754 | if (i_sense_lock()) { /* ISR€ÎžÆœÐ€·Á°€ÎŸõÂÖ€ËÌ္ */ |
|---|
| 755 | i_unlock_cpu(); |
|---|
| 756 | } |
|---|
| 757 | i_set_ipm(saved_ipm); |
|---|
| 758 | |
|---|
| 759 | LOG_ISR_ENTER(<intno>); /* ISR2€ÎžÆœÐ€· */ |
|---|
| 760 | isr_2((intptr_t)(exinf_2)); |
|---|
| 761 | LOG_ISR_LEAVE(intno); |
|---|
| 762 | |
|---|
| 763 | if (i_sense_lock()) { /* ISR€ÎžÆœÐ€·Á°€ÎŸõÂÖ€ËÌ္ */ |
|---|
| 764 | i_unlock_cpu(); |
|---|
| 765 | } |
|---|
| 766 | i_set_ipm(saved_ipm); |
|---|
| 767 | |
|---|
| 768 | ¡Ä¡Ä |
|---|
| 769 | |
|---|
| 770 | LOG_ISR_ENTER(<intno>); /* ISRn€ÎžÆœÐ€· */ |
|---|
| 771 | isr_n((intptr_t)(exinf_n)); |
|---|
| 772 | LOG_ISR_LEAVE(intno); |
|---|
| 773 | |
|---|
| 774 | i_end_int(intno); |
|---|
| 775 | } |
|---|
| 776 | |
|---|
| 777 | €³€³€Ç¡€ISRn€ÎžÆœÐ€·€Îžå€ËžÆœÐ€·Á°€ÎŸõÂÖ€ËÌဵ€Ê€€€Î€Ï¡€³ä¹þ€ß¥Ï¥ó¥É¥é |
|---|
| 778 | €«€é€Î¥ê¥¿¡Œ¥ó€Ë€è€ê¡€¥«¡Œ¥Í¥ë€¬žµ€ÎŸõÂÖ€ËÌ္€¿€á€Ç€¢€ë¡¥ |
|---|
| 779 | |
|---|
| 780 | Ʊ°ì€Î³ä¹þ€ßÈÖ¹æ€ËÂЀ·€ÆÄɲÀµ€ì€¿³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€¬1€Ä€Î€ß€ÎŸì¹ç |
|---|
| 781 | €Ë€Ï¡€Œ¡€Î€è€Š€ÊŽØ¿ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 782 | |
|---|
| 783 | static void |
|---|
| 784 | _kernel_inthdr_<intno>(void) |
|---|
| 785 | { |
|---|
| 786 | i_begin_int(intno); |
|---|
| 787 | LOG_ISR_ENTER(intno); |
|---|
| 788 | isr_1((intptr_t)(exinf_1)); |
|---|
| 789 | LOG_ISR_LEAVE(intno); |
|---|
| 790 | i_end_int(intno); |
|---|
| 791 | } |
|---|
| 792 | |
|---|
| 793 | ¡Ú²ÝÂê¡Û€³€³€Ç¡€LOG_ISR_ENTER¡€LOG_ISR_LEAVE€Î°ú¿ô€ò€É€Š€¹€ë€«€¬²ÝÂê€È |
|---|
| 794 | €·€Æ»Ä€Ã€Æ€€€ë¡¥ATT_ISR€ÇÅÐÏ¿€µ€ì€¿ISR€ËÂЀ·€Æ€ÏISR ID€¬ÉÕÍ¿€µ€ì€Ê€€€¿ |
|---|
| 795 | €á¡€ID€ÇISR€ò¶èÊÌ€¹€ë€³€È€¬€Ç€€Ê€€¡¥€ä€à€Ê€¯³ä¹þ€ßÈÖ¹æ€òÅÏ€·€Æ€€€ë€¬¡€ |
|---|
| 796 | ³ÈÄ¥ŸðÊó¡Êexinf¡Ë€âÅÏ€¹€Ù€€«€â€·€ì€Ê€€¡¥ |
|---|
| 797 | |
|---|
| 798 | (7-2-2) ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎÄêµÁ€ËÁêÅö€¹€ëœèÍý |
|---|
| 799 | |
|---|
| 800 | Ÿå€Î€è€Š€Ë³ä¹þ€ß¥Ï¥ó¥É¥é€òÀžÀ®€·€¿Ÿì¹ç€Ë€Ï¡€Œ¡€ËÀâÌÀ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é |
|---|
| 801 | €ËŽØ€¹€ëÄêµÁ€Ë€ª€€€Æ¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€ËŒ¡€ÎÀÅ |
|---|
| 802 | ŪAPI€¬ŽÞ€Þ€ì€Æ€€€ë€Î€ÈƱÍ̀˜èÍý€¹€ë¡¥ |
|---|
| 803 | |
|---|
| 804 | DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> }); |
|---|
| 805 | |
|---|
| 806 | €³€³€Çinhno€Ï¡€intno€ËÂбþ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€Ç€¢€ë¡¥ |
|---|
| 807 | |
|---|
| 808 | (7-2-3) ¥š¥é¡ŒŸò·ï |
|---|
| 809 | |
|---|
| 810 | ³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 811 | |
|---|
| 812 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 813 | ¡Šisratr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 814 | ¢š ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó°À€òÄɲòġÊTARGET_ISRATR¡Ë |
|---|
| 815 | ¡Šintno€¬ATT_ISR€ËÂЀ¹€ë³ä¹þ€ßÈÖ¹æ€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 816 | ¢š intno€ËÂбþ€¹€ëinhno€¬€Ê€€Ÿì¹ç€òŽÞ€à |
|---|
| 817 | ¡Š(TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)€Ç€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 818 | ¡Šintno€ËÂбþ€¹€ëinhno€ËÂЀ·€ÆDEF_INH€¬€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 819 | ¡Šintno€ËÂЀ¹€ëCFG_INT€¬€Ê€€Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 820 | ¡Šintno€ËÂЀ·€ÆCFG_INT€ÇÀßÄꀵ€ì€¿³ä¹þ€ßÍ¥ÀèÅÙ€¬TMIN_INTPRI€è€ê€âŸ®€µ€€ |
|---|
| 821 | ¡¡Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 822 | ¢š ¥«¡Œ¥Í¥ëŽÉÍý³°€ÎISR€Ï¥µ¥Ý¡Œ¥È€·€Ê€€€¿€á |
|---|
| 823 | |
|---|
| 824 | ¡ö²ÄÇœ€Ç€¢€ì€Ð¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 825 | ¡Šisr€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 826 | |
|---|
| 827 | (7-3) ³ä¹þ€ß¥Ï¥ó¥É¥é€ËŽØ€¹€ëÄêµÁ |
|---|
| 828 | |
|---|
| 829 | ³ä¹þ€ß¥Ï¥ó¥É¥é€òÄêµÁ€¹€ëÀÅŪAPI¡ÖDEF_INH¡×€ÇÄêµÁ€·€¿³ä¹þ€ß¥Ï¥ó¥É¥é¡ÊŸå |
|---|
| 830 | œÒ€Î³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥ó€ÎÄɲÀˀè€ê¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥¿€¬ÀžÀ®€·€¿³ä¹þ |
|---|
| 831 | €ß¥Ï¥ó¥É¥é€òŽÞ€à¡Ë€ËŽØ€¹€ëÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€ÏŒ¡€ÎÄ̀ꡥ |
|---|
| 832 | |
|---|
| 833 | °Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì |
|---|
| 834 | €Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 835 | |
|---|
| 836 | DEF_INH(inhno, { inhatr, inthdr }); |
|---|
| 837 | |
|---|
| 838 | (7-3-1) ÄêµÁ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é€Î¿ô |
|---|
| 839 | |
|---|
| 840 | ÄêµÁ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é€Î¿ô€ò¥Þ¥¯¥íÄêµÁ€¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö |
|---|
| 841 | ¡Ê#define¡Ë€òÀžÀ®€¹€ë¡¥€Þ€¿¡€€œ€ÎÃÍ€ò»ý€ÄÊÑ¿ô€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ |
|---|
| 842 | €Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 843 | |
|---|
| 844 | #define TNUM_INHNO <ÄêµÁ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥é€Î¿ô> |
|---|
| 845 | const uint_t _kernel_tnum_inhno = TNUM_INHNO; |
|---|
| 846 | |
|---|
| 847 | (7-3-2) ³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý |
|---|
| 848 | |
|---|
| 849 | ÄêµÁ€¹€ë³ä¹þ€ß¥Ï¥ó¥É¥éËè€Ë¡€³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý¥ë¡Œ¥Á¥ó€òÀžÀ®€¹ |
|---|
| 850 | €ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 851 | |
|---|
| 852 | INTHDR_ENTRY(inhno, inhno_num, inthdr) |
|---|
| 853 | |
|---|
| 854 | €³€³€Çinhno_num€Ï¡€inhno¡Ê³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ¡Ë€ò¿ôÃÍ€ÇÉœžœ€·€¿€â€Î€Ç¡€ |
|---|
| 855 | ¥¢¥»¥ó¥Ö¥êžÀžìµœÒ€Ë»ÈÍÑ€¹€ë€¿€á€Î€â€Î€Ç€¢€ë¡¥ |
|---|
| 856 | |
|---|
| 857 | (7-3-3) ³ä¹þ€ß¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯€ÎÄêµÁ |
|---|
| 858 | |
|---|
| 859 | ³ä¹þ€ß¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ® |
|---|
| 860 | €¹€ë¡¥ |
|---|
| 861 | |
|---|
| 862 | const INHINIB _kernel_inhinib_table[TNUM_INHNO] = { |
|---|
| 863 | <³ä¹þ€ß¥Ï¥ó¥É¥é1€ÎœéŽü²œŸðÊó>, |
|---|
| 864 | <³ä¹þ€ß¥Ï¥ó¥É¥é2€ÎœéŽü²œŸðÊó>, |
|---|
| 865 | ¡Ä¡Ä |
|---|
| 866 | <³ä¹þ€ß¥Ï¥ó¥É¥éTNUM_INHNO€ÎœéŽü²œŸðÊó> |
|---|
| 867 | }; |
|---|
| 868 | |
|---|
| 869 | €³€ÎÃæ€Î³ä¹þ€ß¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 870 | |
|---|
| 871 | { (inhno), (inhatr), (FP)(INT_ENTRY(inhno, inthdr)) } |
|---|
| 872 | |
|---|
| 873 | (7-3-4) ¥š¥é¡ŒŸò·ï |
|---|
| 874 | |
|---|
| 875 | ³ä¹þ€ß¥Ï¥ó¥É¥é€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 876 | |
|---|
| 877 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 878 | ¡Šinhno€¬DEF_INH€ËÂЀ¹€ë³ä¹þ€ß¥Ï¥ó¥É¥éÈÖ¹æ€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 879 | ¡Šinhno€¬DEF_INH€Ë€è€Ã€ÆÀßÄêºÑ€ß€ÎŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 880 | #¡Šinhno€ËÂбþ€¹€ëintno€ËÂЀ·€ÆATT_ISR€¬€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 881 | # ¢š inhno€ËÂбþ€¹€ëintno€¬€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥Á¥§¥Ã¥¯€ò¹Ô€ï€Ê€€ |
|---|
| 882 | # ¢ª €³€Î¥Á¥§¥Ã¥¯€Ï¡€³ä¹þ€ß¥µ¡Œ¥Ó¥¹¥ë¡Œ¥Á¥óŠ€Ç¹Ô€Š |
|---|
| 883 | ¡Šinhatr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 884 | ¢š ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Ç³ä¹þ€ß¥Ï¥ó¥É¥é°À€òÄɲòġÊTARGET_INHATR¡Ë |
|---|
| 885 | ¢š TA_NONKERNEL€ò»È€ŠŸì¹ç€Ë€Ï¡€TARGET_INHATR€ËÀßÄꀹ€ë |
|---|
| 886 | ¡Š¥«¡Œ¥Í¥ëŽÉÍý€ËžÇÄꀵ€ì€Æ€€€ëinhno€ËÂЀ·€Æ¡€inhatr€ËTA_NONKERNEL€¬»ØÄê |
|---|
| 887 | ¡¡€µ€ì€Æ€€€ëŸì¹ç¡ÊE_RSATR¡Ë |
|---|
| 888 | ¡Š¥«¡Œ¥Í¥ëŽÉÍý³°€ËžÇÄꀵ€ì€Æ€€€ëinhno€ËÂЀ·€Æ¡€inhatr€ËTA_NONKERNEL€¬»Ø |
|---|
| 889 | ¡¡Äꀵ€ì€Æ€€€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 890 | ¡Šinhno€ËÂбþ€¹€ëintno€ËÂЀ¹€ëCFG_INT€¬€Ê€€Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 891 | ¢š inhno€ËÂбþ€¹€ëintno€¬€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥Á¥§¥Ã¥¯€ò¹Ô€ï€Ê€€ |
|---|
| 892 | ¡Šinhatr€ËTA_NONKERNEL€¬»ØÄꀵ€ì€Æ€ª€é€º¡€inhno€ËÂбþ€¹€ëintno€ËÂЀ·€Æ |
|---|
| 893 | ¡¡CFG_INT€ÇÀßÄꀵ€ì€¿³ä¹þ€ßÍ¥ÀèÅÙ€¬TMIN_INTPRI€è€ê€âŸ®€µ€€Ÿì¹ç¡ÊE_OBJ¡Ë |
|---|
| 894 | ¢š inhno€ËÂбþ€¹€ëintno€¬€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥Á¥§¥Ã¥¯€ò¹Ô€ï€Ê€€ |
|---|
| 895 | ¡Šinhatr€ËTA_NONKERNEL€¬»ØÄꀵ€ì€Æ€ª€ê¡€inhno€ËÂбþ€¹€ëintno€ËÂЀ·€Æ |
|---|
| 896 | ¡¡CFG_INT€ÇÀßÄꀵ€ì€¿³ä¹þ€ßÍ¥ÀèÅÙ€¬TMIN_INTPRI°ÊŸå€Ç€¢€ëŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 897 | ¢š inhno€ËÂбþ€¹€ëintno€¬€Ê€€Ÿì¹ç€Ë€Ï¡€€³€Î¥Á¥§¥Ã¥¯€ò¹Ô€ï€Ê€€ |
|---|
| 898 | |
|---|
| 899 | ¡ö²ÄÇœ€Ç€¢€ì€Ð¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 900 | ¡Šinthdr€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 901 | |
|---|
| 902 | (8) CPUÎã³°€ËŽØ€¹€ëÄêµÁ |
|---|
| 903 | |
|---|
| 904 | CPUÎã³°€ËŽØ€·€ÆÀžÀ®€¹€ëŸðÊó€Ï¡€¥¿¡Œ¥²¥Ã¥ÈËè€ËÄê€á€ë€³€È€¬€Ç€€ë¡¥¥¿¡Œ¥²¥Ã |
|---|
| 905 | ¥ÈËè€ËÄê€á€Ê€€Ÿì¹ç€Ë€Ï¡€°Ê²Œ€ÇœÒ€Ù€ë¥¿¡Œ¥²¥Ã¥È€Ë°Íž€·€Ê€€ÉžœàŪ€ÊŸðÊó |
|---|
| 906 | €òÀžÀ®€¹€ë¡¥¥¿¡Œ¥²¥Ã¥ÈËè€ËÄê€á€ëŸì¹ç€Ë€Ï¡€€³€ì€é€ÎŸðÊó€ÏÀžÀ®€µ€ì€Ê€€¡¥ |
|---|
| 907 | |
|---|
| 908 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ë¡€CPUÎã³°¥Ï¥ó¥É¥é€òÄêµÁ€¹€ë |
|---|
| 909 | ÀÅŪAPI¡ÖDEF_EXC¡×€¬ŽÞ€Þ€ì€Æ€€€ëŸì¹ç€Ë¡€CPUÎã³°¥Ï¥ó¥É¥é€ËŽØ€¹€ëÄêµÁ€ò |
|---|
| 910 | ÀžÀ®€¹€ë¡¥ |
|---|
| 911 | |
|---|
| 912 | °Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì |
|---|
| 913 | €Æ€€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 914 | |
|---|
| 915 | DEF_EXC(excno, { excatr, exchdr }); |
|---|
| 916 | |
|---|
| 917 | (8-1) ÄêµÁ€¹€ëCPUÎã³°¥Ï¥ó¥É¥é€Î¿ô |
|---|
| 918 | |
|---|
| 919 | ÄêµÁ€¹€ëCPUÎã³°¥Ï¥ó¥É¥é€Î¿ô€ò¥Þ¥¯¥íÄêµÁ€¹€ë¥×¥ê¥×¥í¥»¥Ã¥µ¥Ç¥£¥ì¥¯¥Æ¥£ |
|---|
| 920 | ¥Ö¡Ê#define¡Ë€òÀžÀ®€¹€ë¡¥€Þ€¿¡€€œ€ÎÃÍ€ò»ý€ÄÊÑ¿ô€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥¶ñÂÎ |
|---|
| 921 | Ū€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 922 | |
|---|
| 923 | #define TNUM_EXCNO <ÄêµÁ€¹€ëCPUÎã³°¥Ï¥ó¥É¥é€Î¿ô> |
|---|
| 924 | const uint_t _kernel_tnum_excno = TNUM_EXCNO; |
|---|
| 925 | |
|---|
| 926 | (8-2) CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý |
|---|
| 927 | |
|---|
| 928 | ÄêµÁ€¹€ëCPUÎã³°¥Ï¥ó¥É¥éËè€Ë¡€CPUÎã³°¥Ï¥ó¥É¥é€ÎœÐÆþžýœèÍý¥ë¡Œ¥Á¥ó€òÀžÀ® |
|---|
| 929 | €¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 930 | |
|---|
| 931 | EXCHDR_ENTRY(excno, excno_num, exchdr) |
|---|
| 932 | |
|---|
| 933 | €³€³€Çexcno_num€Ï¡€excno¡ÊCPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ¡Ë€ò¿ôÃÍ€ÇÉœžœ€·€¿€â€Î€Ç¡€ |
|---|
| 934 | ¥¢¥»¥ó¥Ö¥êžÀžìµœÒ€Ë»ÈÍÑ€¹€ë€¿€á€Î€â€Î€Ç€¢€ë¡¥ |
|---|
| 935 | |
|---|
| 936 | (8-3) CPUÎã³°¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯€ÎÄêµÁ |
|---|
| 937 | |
|---|
| 938 | CPUÎã³°¥Ï¥ó¥É¥éœéŽü²œ¥Ö¥í¥Ã¥¯€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Œ¡€Î€è€Š€Ê¹Ô€òÀžÀ® |
|---|
| 939 | €¹€ë¡¥ |
|---|
| 940 | |
|---|
| 941 | const EXCINIB _kernel_excinib_table[TNUM_EXCNO] = { |
|---|
| 942 | <CPUÎã³°¥Ï¥ó¥É¥é1€ÎœéŽü²œŸðÊó>, |
|---|
| 943 | <CPUÎã³°¥Ï¥ó¥É¥é2€ÎœéŽü²œŸðÊó>, |
|---|
| 944 | ¡Ä¡Ä |
|---|
| 945 | <CPUÎã³°¥Ï¥ó¥É¥éTNUM_EXCNO€ÎœéŽü²œŸðÊó> |
|---|
| 946 | }; |
|---|
| 947 | |
|---|
| 948 | €³€ÎÃæ€ÎCPUÎã³°¥Ï¥ó¥É¥é€ÎœéŽü²œŸðÊó€Ï¡€Œ¡€Î·ÁŒ°€È€¹€ë¡¥ |
|---|
| 949 | |
|---|
| 950 | { (excno), (excatr), (FP)(EXC_ENTRY(excno, exchdr)) } |
|---|
| 951 | |
|---|
| 952 | (8-4) ¥š¥é¡ŒŸò·ï |
|---|
| 953 | |
|---|
| 954 | CPUÎã³°¥Ï¥ó¥É¥é€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 955 | |
|---|
| 956 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 957 | ¡Šexcno€¬DEF_EXC€ËÂЀ¹€ëCPUÎã³°¥Ï¥ó¥É¥éÈÖ¹æ€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 958 | ¡Šexcno€¬DEF_EXC€Ë€è€Ã€ÆÀßÄêºÑ€ß€ÎŸì¹ç¡ÊE_OBJ¡Ë |
|---|
| 959 | ¡Šexcatr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 960 | ¢š ¥¿¡Œ¥²¥Ã¥È°ÍžÉô€ÇCPUÎã³°¥Ï¥ó¥É¥é°À€òÄɲòġÊTARGET_EXCATR¡Ë |
|---|
| 961 | |
|---|
| 962 | ¡ö²ÄÇœ€Ç€¢€ì€Ð¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 963 | ¡Šexchdr€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 964 | |
|---|
| 965 | (9) È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ËŽØ€¹€ëÄêµÁ |
|---|
| 966 | |
|---|
| 967 | È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ËŽØ€¹€ëÄêµÁ€Ï¡€É¬€ºÀžÀ®€·€Ê€±€ì€Ð |
|---|
| 968 | €Ê€é€Ê€€¡¥ |
|---|
| 969 | |
|---|
| 970 | (9-1) DEF_ICS€¬€Ê€€Ÿì¹ç |
|---|
| 971 | |
|---|
| 972 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€Ë¡€ÀÅŪAPI¡ÖDEF_ICS¡×€¬ŽÞ€Þ€ì€Æ |
|---|
| 973 | €€€Ê€€Ÿì¹ç€Ë€Ï¡€Œ¡€Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 974 | |
|---|
| 975 | #ifdef DEFAULT_ISTK |
|---|
| 976 | |
|---|
| 977 | #define TOPPERS_ISTKSZ DEFAULT_ISTKSZ |
|---|
| 978 | #define TOPPERS_ISTK DEFAULT_ISTK |
|---|
| 979 | |
|---|
| 980 | #else /* DEFAULT_ISTK */ |
|---|
| 981 | |
|---|
| 982 | static STK_T _kernel_istack[COUNT_STK_T(DEFAULT_ISTKSZ)]; |
|---|
| 983 | #define TOPPERS_ISTKSZ ROUND_STK_T(DEFAULT_ISTKSZ) |
|---|
| 984 | #define TOPPERS_ISTK _kernel_istack |
|---|
| 985 | |
|---|
| 986 | #endif /* DEFAULT_ISTK */ |
|---|
| 987 | |
|---|
| 988 | (9-2) DEF_ICS€¬€¢€ëŸì¹ç |
|---|
| 989 | |
|---|
| 990 | °Ê²Œ€Ç€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ë€ËŒ¡€ÎÀÅŪAPI€¬ŽÞ€Þ€ì€Æ |
|---|
| 991 | €€€ë»þ€ËÀžÀ®€¹€Ù€ŸðÊó€Ë€Ä€€€ÆœÒ€Ù€ë¡¥ |
|---|
| 992 | |
|---|
| 993 | DEF_ICS({ istksz, istk }); |
|---|
| 994 | |
|---|
| 995 | istk€¬NULL€ÎŸì¹ç€Ë€Ï¡€»ØÄꀵ€ì€¿¥µ¥€¥º€ÎÈ󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã |
|---|
| 996 | ¥¯Îΰè€ò³ÎÊÝ€·¡€È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ÎœéŽü²œŸðÊó€òÀžÀ® |
|---|
| 997 | €¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€Ÿåµ€ÎÀÅŪAPI€ËÂЀ·€Æ¡€Œ¡€Î¹Ô€òÀžÀ®€¹€ë¡¥ |
|---|
| 998 | |
|---|
| 999 | static STK_T _kernel_istack[COUNT_STK_T(istksz)]; |
|---|
| 1000 | #define TOPPERS_ISTKSZ ROUND_STK_T(istksz) |
|---|
| 1001 | #define TOPPERS_ISTK _kernel_istack |
|---|
| 1002 | |
|---|
| 1003 | istk€¬NULL€Ç€Ê€€Ÿì¹ç€Ë€Ï¡€È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ÎœéŽü²œ |
|---|
| 1004 | ŸðÊó€ò¡€Œ¡€Î·ÁŒ°€ÇÀžÀ®€¹€ë¡¥ |
|---|
| 1005 | |
|---|
| 1006 | #define TOPPERS_ISTKSZ (istksz) |
|---|
| 1007 | #define TOPPERS_ISTK (istk) |
|---|
| 1008 | |
|---|
| 1009 | (9-3) ÊÑ¿ô€ÎÀžÀ® |
|---|
| 1010 | |
|---|
| 1011 | DEF_ICS€ÎÍ̵€Ë€è€é€º¡€Œ¡€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 1012 | |
|---|
| 1013 | const SIZE _kernel_istksz = TOPPERS_ISTKSZ; |
|---|
| 1014 | STK_T *const _kernel_istk = TOPPERS_ISTK; |
|---|
| 1015 | |
|---|
| 1016 | #ifdef TOPPERS_ISTKPT |
|---|
| 1017 | STK_T *const _kernel_istkpt = TOPPERS_ISTKPT(TOPPERS_ISTK, TOPPERS_ISTKSZ); |
|---|
| 1018 | #endif /* TOPPERS_ISTKPT */ |
|---|
| 1019 | |
|---|
| 1020 | (9-4) ¥š¥é¡ŒŸò·ï |
|---|
| 1021 | |
|---|
| 1022 | È󥿥¹¥¯¥³¥ó¥Æ¥¥¹¥ÈÍрΥ¹¥¿¥Ã¥¯Îΰè€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 1023 | |
|---|
| 1024 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1025 | ¡ŠÀÅŪAPI¡ÖDEF_ICS¡×€¬Ê£¿ô€¢€ë¡ÊE_OBJ¡Ë |
|---|
| 1026 | ¡Šistksz€¬0°Ê²Œ€«¡€¥¿¡Œ¥²¥Ã¥ÈÄêµÁ€ÎºÇŸ®ÃÍ¡ÊTARGET_MIN_ISTKSZ¡Ë€è€ê€âŸ® |
|---|
| 1027 | ¡¡€µ€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 1028 | ¡Šistksz€¬¥¹¥¿¥Ã¥¯Îΰè€Î¥µ¥€¥º€È€·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 1029 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_STKSZ_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 1030 | ¢š €³€Î¥š¥é¡Œ¥Á¥§¥Ã¥¯€Ï¡€istk€¬NULL€Ç€Ê€€Ÿì¹ç€Ë€Î€ß¹Ô€Š |
|---|
| 1031 | |
|---|
| 1032 | ¡ö¥Ñ¥¹3€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1033 | ¡Šistk€¬¥¹¥¿¥Ã¥¯Îΰè€ÎÀèÆ¬ÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 1034 | - ¥¿¡Œ¥²¥Ã¥È°Íž€ÎÃÍ¡ÊCHECK_STACK_ALIGN¡Ë€ÎÇÜ¿ô€Ç€Ê€€Ÿì¹ç |
|---|
| 1035 | - NULL€ÎŸì¹ç¡Ê¥¿¡Œ¥²¥Ã¥È°Íž¡€CHECK_STACK_NONNULL¡Ë |
|---|
| 1036 | |
|---|
| 1037 | (10) ¥¿¥€¥à¥€¥Ù¥ó¥ÈŽÉÍý€ËŽØ€¹€ëÄêµÁ |
|---|
| 1038 | |
|---|
| 1039 | ¥¿¥€¥à¥€¥Ù¥ó¥ÈŽÉÍý€ËŽØÏ¢€·€Æ¡€Œ¡€ÎÄêµÁ€òÀžÀ®€¹€ë¡¥ |
|---|
| 1040 | |
|---|
| 1041 | TMEVTN _kernel_tmevt_heap[TNUM_TSKID + TNUM_CYCID + TNUM_ALMID]; |
|---|
| 1042 | |
|---|
| 1043 | (11) ³Æ¥â¥ž¥å¡Œ¥ë€ÎœéŽü²œŽØ¿ô€ÎÄêµÁ |
|---|
| 1044 | |
|---|
| 1045 | ³Æ¥«¡Œ¥Í¥ë¥ª¥Ö¥ž¥§¥¯¥È€ÎŽÉÍý¡€³ä¹þ€ßŽÉÍý¡€CPUÎã³°¥Ï¥ó¥É¥éŽÉÍý€Î³Æµ¡Çœ€ò |
|---|
| 1046 | œéŽü²œŽØ¿ô€òœç€ËžÆ€ÓœÐ€¹ŽØ¿ô¡Ê_kernel_initialize_object¡Ë€òÀžÀ®€¹€ë¡¥Œ¡ |
|---|
| 1047 | €Î3€Ä€ÎœéŽü²œŽØ¿ô€òœü€€€Æ€Ï¡€»ÈÍÑ€·€Ê€€µ¡Çœ€ÎœéŽü²œŽØ¿ô€ÏžÆ€ÓœÐ€µ€Ê€€¡¥ |
|---|
| 1048 | |
|---|
| 1049 | _kernel_initialize_task |
|---|
| 1050 | _kernel_initialize_interrupt |
|---|
| 1051 | _kernel_initialize_exception |
|---|
| 1052 | |
|---|
| 1053 | €¹€Ù€Æ€Îµ¡Çœ€ò»È€Ã€¿Ÿì¹ç€ËÀžÀ®€µ€ì€ëŽØ¿ô€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 1054 | |
|---|
| 1055 | void |
|---|
| 1056 | _kernel_initialize_object(void) |
|---|
| 1057 | { |
|---|
| 1058 | _kernel_initialize_task(); |
|---|
| 1059 | _kernel_initialize_semaphore(); |
|---|
| 1060 | _kernel_initialize_eventflag(); |
|---|
| 1061 | _kernel_initialize_dataqueue(); |
|---|
| 1062 | _kernel_initialize_pridataq(); |
|---|
| 1063 | _kernel_initialize_mailbox(); |
|---|
| 1064 | _kernel_initialize_mempfix(); |
|---|
| 1065 | _kernel_initialize_cyclic(); |
|---|
| 1066 | _kernel_initialize_alarm(); |
|---|
| 1067 | _kernel_initialize_interrupt(); |
|---|
| 1068 | _kernel_initialize_exception(); |
|---|
| 1069 | } |
|---|
| 1070 | |
|---|
| 1071 | (12) œéŽü²œ¥ë¡Œ¥Á¥ó€ÎŒÂ¹ÔŽØ¿ô€ÎÄêµÁ |
|---|
| 1072 | |
|---|
| 1073 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€ËŽÞ€Þ€ì€ëœéŽü²œ¥ë¡Œ¥Á¥ó€òÄɲà |
|---|
| 1074 | €¹€ëÀÅŪAPI¡ÖATT_INI¡×€ËÂЀ·€Æ¡€ÄɲÀ·€¿œéŽü²œ¥ë¡Œ¥Á¥ó€òœç€ËžÆ€ÓœÐ€¹ŽØ |
|---|
| 1075 | ¿ô€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€ |
|---|
| 1076 | |
|---|
| 1077 | ATT_INI({ iniatr, exinf, inirtn }); |
|---|
| 1078 | |
|---|
| 1079 | €È€€€ŠÀÅŪAPI€ËÂЀ·€Æ¡€ |
|---|
| 1080 | |
|---|
| 1081 | (inirtn)((intptr_t)(exinf)); |
|---|
| 1082 | |
|---|
| 1083 | €òžÆ€ÓœÐ€¹ŽØ¿ô€ò¡€_kernel_call_inirtn€È€€€ŠÌŸÁ°€ÇÀžÀ®€¹€ë¡¥œéŽü²œ¥ë¡Œ¥Á |
|---|
| 1084 | ¥ó€òžÆ€ÓœÐ€¹œçœø€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ç€ÎÀÅŪ |
|---|
| 1085 | API€Îœçœø€Ë°ìÃ×€µ€»€ë¡¥ |
|---|
| 1086 | |
|---|
| 1087 | Î〚€Ð¡€ |
|---|
| 1088 | |
|---|
| 1089 | ATT_INI({ TA_NULL, 0, timer_initialize }); |
|---|
| 1090 | ATT_INI({ TA_NULL, CONSOLE_PORTID, serial_initialize }); |
|---|
| 1091 | |
|---|
| 1092 | €È€€€Š2€Ä€ÎÀÅŪAPI€¬€³€Îœçœø€ÇµœÒ€µ€ì€¿»þ€ËÀžÀ®€¹€ëŽØ¿ô€ÏŒ¡€ÎÄÌ€ê€Ç€¢ |
|---|
| 1093 | €ë¡¥ |
|---|
| 1094 | |
|---|
| 1095 | void |
|---|
| 1096 | _kernel_call_inirtn(void) |
|---|
| 1097 | { |
|---|
| 1098 | (timer_initialize)((intptr_t)(0)); |
|---|
| 1099 | (serial_initialize)((intptr_t)(CONSOLE_PORTID)); |
|---|
| 1100 | } |
|---|
| 1101 | |
|---|
| 1102 | (12-1) ¥š¥é¡ŒŸò·ï |
|---|
| 1103 | |
|---|
| 1104 | œéŽü²œ¥ë¡Œ¥Á¥ó€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 1105 | |
|---|
| 1106 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1107 | ¡Šiniatr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 1108 | |
|---|
| 1109 | ¡ö²ÄÇœ€Ç€¢€ì€Ð¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1110 | ¡Šinirtn€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 1111 | |
|---|
| 1112 | (13) œªÎ»œèÍý¥ë¡Œ¥Á¥ó€ÎŒÂ¹ÔŽØ¿ô€ÎÄêµÁ |
|---|
| 1113 | |
|---|
| 1114 | ¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€ËŽÞ€Þ€ì€ëœªÎ»œèÍý¥ë¡Œ¥Á¥ó€òÄÉ |
|---|
| 1115 | ²Ã€¹€ëÀÅŪAPI¡ÖATT_TER¡×€ËÂЀ·€Æ¡€ÄɲÀ·€¿œªÎ»œèÍý¥ë¡Œ¥Á¥ó€òœç€ËžÆ€ÓœÐ |
|---|
| 1116 | €¹ŽØ¿ô€òÀžÀ®€¹€ë¡¥¶ñÂÎŪ€Ë€Ï¡€ |
|---|
| 1117 | |
|---|
| 1118 | ATT_TER({ teratr, exinf, terrtn }); |
|---|
| 1119 | |
|---|
| 1120 | €È€€€ŠÀÅŪAPI€ËÂЀ·€Æ¡€ |
|---|
| 1121 | |
|---|
| 1122 | (terrtn)((intptr_t)(exinf)); |
|---|
| 1123 | |
|---|
| 1124 | €òžÆ€ÓœÐ€¹ŽØ¿ô€ò¡€_kernel_call_terrtn€È€€€ŠÌŸÁ°€ÇÀžÀ®€¹€ë¡¥œªÎ»œèÍý¥ë¡Œ |
|---|
| 1125 | ¥Á¥ó€òžÆ€ÓœÐ€¹œçœø€Ï¡€¥·¥¹¥Æ¥à¥³¥ó¥Õ¥£¥®¥å¥ì¡Œ¥·¥ç¥ó¥Õ¥¡¥€¥ëÃæ€Ç€ÎÀÅŪ |
|---|
| 1126 | API€ÎµÕœç€Ë°ìÃ×€µ€»€ë¡¥ |
|---|
| 1127 | |
|---|
| 1128 | Î〚€Ð¡€ |
|---|
| 1129 | |
|---|
| 1130 | ATT_TER({ TA_NULL, 0, timer_terminate }); |
|---|
| 1131 | ATT_TER({ TA_NULL, CONSOLE_PORTID, serial_terminate }); |
|---|
| 1132 | |
|---|
| 1133 | €È€€€Š2€Ä€ÎÀÅŪAPI€¬€³€Îœçœø€ÇµœÒ€µ€ì€¿»þ€ËÀžÀ®€¹€ëŽØ¿ô€ÏŒ¡€ÎÄÌ€ê€Ç€¢ |
|---|
| 1134 | €ë¡¥ |
|---|
| 1135 | |
|---|
| 1136 | void |
|---|
| 1137 | _kernel_call_terrtn(void) |
|---|
| 1138 | { |
|---|
| 1139 | (serial_terminate)((intptr_t)(CONSOLE_PORTID)); |
|---|
| 1140 | (timer_terminate)((intptr_t)(0)); |
|---|
| 1141 | } |
|---|
| 1142 | |
|---|
| 1143 | (13-1) ¥š¥é¡ŒŸò·ï |
|---|
| 1144 | |
|---|
| 1145 | œªÎ»œèÍý¥ë¡Œ¥Á¥ó€ËŽØ€¹€ë¥š¥é¡ŒŸò·ï€ÏŒ¡€ÎÄÌ€ê€Ç€¢€ë¡¥ |
|---|
| 1146 | |
|---|
| 1147 | ¡ö¥Ñ¥¹2€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1148 | ¡Šteratr€¬¡ÊTA_NULL¡Ë€Ç€Ê€€Ÿì¹ç¡ÊE_RSATR¡Ë |
|---|
| 1149 | |
|---|
| 1150 | ¡ö²ÄÇœ€Ç€¢€ì€Ð¥¿¡Œ¥²¥Ã¥È°ÍžÉô€Çž¡œÐ€¹€ë€â€Î |
|---|
| 1151 | ¡Šterrtn€¬¥×¥í¥°¥é¥à€Î³«»ÏÈÖÃπȀ·€ÆÀµ€·€¯€Ê€€Ÿì¹ç¡ÊE_PAR¡Ë |
|---|
| 1152 | |
|---|
| 1153 | °ÊŸå |
|---|