[302] | 1 |
|
---|
| 2 | TOPPERS/ASP3ã«ã¼ãã«
|
---|
| 3 | æ©è½æ¡å¼µã»ãã¥ã¼ãã³ã°ã¬ã¤ã
|
---|
| 4 |
|
---|
| 5 | 対å¿ãã¼ã¸ã§ã³: Release 3.B.0
|
---|
| 6 | æçµæ´æ°: 2015å¹´8æ21æ¥
|
---|
| 7 |
|
---|
| 8 | ãã®ããã¥ã¡ã³ãã¯ï¼TOPPERS/ASPã«ã¼ãã«3ãï¼æ©è½æ¡å¼µã»ãã¥ã¼ãã³ã°ãã
|
---|
| 9 | ããã®æ¹æ³ï¼ã¾ãã¯ãã³ãï¼ã説æãããã®ã§ããï¼
|
---|
| 10 |
|
---|
| 11 | ----------------------------------------------------------------------
|
---|
| 12 | TOPPERS/ASP Kernel
|
---|
| 13 | Toyohashi Open Platform for Embedded Real-Time Systems/
|
---|
| 14 | Advanced Standard Profile Kernel
|
---|
| 15 |
|
---|
| 16 | Copyright (C) 2005-2015 by Embedded and Real-Time Systems Laboratory
|
---|
| 17 | Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
| 18 |
|
---|
| 19 | ä¸è¨èä½æ¨©è
|
---|
| 20 | ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§
|
---|
| 21 | ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹
|
---|
| 22 | å¤ã»åé
|
---|
| 23 | å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼
|
---|
| 24 | (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½
|
---|
| 25 | 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼
|
---|
| 26 | ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼
|
---|
| 27 | (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 28 | ç¨ã§ããå½¢ã§åé
|
---|
| 29 | å¸ããå ´åã«ã¯ï¼åé
|
---|
| 30 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨
|
---|
| 31 | è
|
---|
| 32 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨
|
---|
| 33 | ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 34 | (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿
|
---|
| 35 | ç¨ã§ããªãå½¢ã§åé
|
---|
| 36 | å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã
|
---|
| 37 | ã¨ï¼
|
---|
| 38 | (a) åé
|
---|
| 39 | å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è
|
---|
| 40 | ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è
|
---|
| 41 | ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼
|
---|
| 42 | (b) åé
|
---|
| 43 | å¸ã®å½¢æ
|
---|
| 44 | ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã«
|
---|
| 45 | å ±åãããã¨ï¼
|
---|
| 46 | (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ
|
---|
| 47 | 害ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 48 | ããã³TOPPERSããã¸ã§ã¯ããå
|
---|
| 49 | 責ãããã¨ï¼
|
---|
| 50 | ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç
|
---|
| 51 | ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è
|
---|
| 52 | ããã³TOPPERSããã¸ã§ã¯ãã
|
---|
| 53 | å
|
---|
| 54 | 責ãããã¨ï¼
|
---|
| 55 |
|
---|
| 56 | æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è
|
---|
| 57 | ã
|
---|
| 58 | ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç
|
---|
| 59 | ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§
|
---|
| 60 | ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã
|
---|
| 61 | ã®è²¬ä»»ãè² ããªãï¼
|
---|
| 62 |
|
---|
| 63 | $Id: extension.txt 458 2015-08-21 14:59:09Z ertl-hiro $
|
---|
| 64 | ----------------------------------------------------------------------
|
---|
| 65 |
|
---|
| 66 | âç®æ¬¡
|
---|
| 67 |
|
---|
| 68 | ã»ã¨ã©ã¼ãã§ãã¯ã®çç¥
|
---|
| 69 | ã»ç¹æ®ç®çã®ã¬ã¸ã¹ã¿ã®æ±ã
|
---|
| 70 | ã»æ¡å¼µããã±ã¼ã¸ã®ä½¿ãæ¹
|
---|
| 71 | - ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 72 | - ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 73 | - ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 74 | - ã¿ã¹ã¯åªå
|
---|
| 75 | 度æ¡å¼µããã±ã¼ã¸
|
---|
| 76 | - å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 77 | - ãµãåªå
|
---|
| 78 | 度æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 79 | - åççææ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 80 | ã»CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºã
|
---|
| 81 | - TA_DIRECTå±æ§ã®å°å
|
---|
| 82 | ¥
|
---|
| 83 | - ã¿ã¼ã²ããä¾åé¨ã®ä¿®æ£ç®æ
|
---|
| 84 |
|
---|
| 85 |
|
---|
| 86 | âã¨ã©ã¼ãã§ãã¯ã®çç¥
|
---|
| 87 |
|
---|
| 88 | ãµã¼ãã¹ã³ã¼ã«ã®ãªã¼ãããããåæ¸ããããã«ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ã
|
---|
| 89 | çç¥ããæ¹æ³ãããï¼ASP3ã«ã¼ãã«ã«ããã¦ã¯ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ã¯ã
|
---|
| 90 | ã¹ã¦CHECKãã¯ããç¨ãã¦è¡ã£ã¦ããããï¼kernel/check.hä¸ã®CHECKãã¯ãã
|
---|
| 91 | å¤æ´ãããã¨ã§ï¼éçãªã¨ã©ã¼ã®ãã§ãã¯ãçç¥ãããã¨ãã§ããï¼
|
---|
| 92 |
|
---|
| 93 | ä¾ãã°ï¼ãªãã¸ã§ã¯ãIDã®ãã§ãã¯ãçç¥ãããå ´åã«ã¯ï¼CHECK_IDãã¯ãã®
|
---|
| 94 | å®ç¾©ãï¼æ¬¡ã®ããã«å¤æ´ããã°ããï¼
|
---|
| 95 |
|
---|
| 96 | #define CHECK_ID(exp) ((void)(exp))
|
---|
| 97 |
|
---|
| 98 | ãã®ãã¯ãã®å®ç¾©ã空ã«ããæ¹æ³ããããï¼ãã©ã¡ã¼ã¿ã«å¯ä½ç¨ã®ããå¼ãæ¸
|
---|
| 99 | ããã¦ããå¯è½æ§ãèããã¨ï¼å¯ä½ç¨ã®ããå¼ã¯æ¸ãã¹ãã§ã¯ãªããï¼æ¸ãã
|
---|
| 100 | ã¦ããã³ã¼ããå
|
---|
| 101 | ¥ã£ã¦ããå¯è½æ§ãå
|
---|
| 102 | ¨ããªãã¨ã¯è¨ããªãï¼ï¼ä¸ã®å®ç¾©ã®æ¹ã
|
---|
| 103 | å®å
|
---|
| 104 | ¨ã§ããï¼å¯ä½ç¨ã®ãªãå¼ã§ããã°ï¼æé©åã«ãã£ã¦åé¤ãããã¨ãã§ãã
|
---|
| 105 | ããï¼å®è¡æå¹çã«ã¯å½±é¿ããªãã¨æå¾
|
---|
| 106 | ã§ããï¼ãã ãï¼æé©åã«ãã£ã¦åé¤
|
---|
| 107 | ãããªãå ´åã«ã¯ï¼å¯ä½ç¨ã®ããå¼ãæ¸ããã¦ããªããã¨ã確èªããä¸ã§ï¼ã
|
---|
| 108 | ã¯ãã®å®ç¾©ã空ã«ãã¦ãããï¼
|
---|
| 109 |
|
---|
| 110 | ããå°ãå°ããç²åº¦ã§ã¨ã©ã¼ãã§ãã¯ãçç¥ãããå ´åã«ã¯ï¼kernel/check.h
|
---|
| 111 | ä¸ã®VALIDãã¯ããå¤æ´ããæ¹æ³ãããï¼ä¾ãã°ï¼ã¿ã¹ã¯IDã®ä¸ã§ãã§ãã¯ãç
|
---|
| 112 | ç¥ãããå ´åã«ã¯ï¼VALID_TSKIDãã¯ãã®å®ç¾©ãï¼æ¬¡ã®ããã«å¤æ´ããã°ããï¼
|
---|
| 113 |
|
---|
| 114 | #define VALID_TSKID(tskid) (true)
|
---|
| 115 |
|
---|
| 116 |
|
---|
| 117 | âç¹æ®ç®çã®ã¬ã¸ã¹ã¿ã®æ±ã
|
---|
| 118 |
|
---|
| 119 | FPUã¬ã¸ã¹ã¿ãDSPã¬ã¸ã¹ã¿ãªã©ã®ç¹æ®ç®çã®ã¬ã¸ã¹ã¿ï¼ä»¥ä¸ï¼ç¹æ®ã¬ã¸ã¹ã¿ï¼
|
---|
| 120 | ãæã¤ããã»ããµã§ã¯ï¼ã¬ã¸ã¹ã¿ã®æ±ãã«ã¤ãã¦å¤§ãã次ã®3ã¤ã®æ¹æ³ãèãã
|
---|
| 121 | ããï¼
|
---|
| 122 |
|
---|
| 123 | (1) ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³ã³ããã¹ãã«å«ããªã
|
---|
| 124 |
|
---|
| 125 | 1ã¤ã®ã¿ã¹ã¯ã®ã¿ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®
|
---|
| 126 | ã³ã³ããã¹ãã«å«ããå¿
|
---|
| 127 | è¦ããªãï¼ã«ã¼ãã«ã§ç®¡çããå¿
|
---|
| 128 | è¦ããªãï¼
|
---|
| 129 |
|
---|
| 130 | (2) ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³ã³ããã¹ãã«å«ãã
|
---|
| 131 |
|
---|
| 132 | è¤æ°ã®ã¿ã¹ã¯ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã¿ã¹ã¯ã®ã³
|
---|
| 133 | ã³ããã¹ãã«å«ããæ¹æ³ãæãåç´ã§ããï¼ãã®ããã«ã¯ï¼ã¿ã¹ã¯ãã£ã¹ãã
|
---|
| 134 | ãã£ã¨å²è¾¼ã¿ãã³ãã©/CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 135 | ¥å£ã§ï¼ç¹æ®ã¬ã¸ã¹ã¿ãä¿å/復帰
|
---|
| 136 | ããã³ã¼ãã追å ããå¿
|
---|
| 137 | è¦ãããï¼å®éã®ä¿å/å¾©å¸°å ´æã¯ï¼ã¹ã¯ã©ããã¬ã¸ã¹
|
---|
| 138 | ã¿ã¨ãã以å¤ã®ã¬ã¸ã¹ã¿ã§ç°ãªãããï¼æ³¨æãå¿
|
---|
| 139 | è¦ã§ããï¼
|
---|
| 140 |
|
---|
| 141 | (3) ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããã¿ã¹ã¯æ¯ã«æå®ãã
|
---|
| 142 |
|
---|
| 143 | ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããã¿ã¹ã¯ã¨ä½¿ç¨ããªãã¿ã¹ã¯ãããå ´åã§ï¼ãã¹ã¦ã®ã¿
|
---|
| 144 | ã¹ã¯ã®ã³ã³ããã¹ãã«ç¹æ®ã¬ã¸ã¹ã¿ãå«ããæ¹æ³ã§ã¯ãªã¼ãããããåé¡ã«ãª
|
---|
| 145 | ãå ´åã«ã¯ï¼ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããã¿ã¹ã¯æ¯ã«æå®
|
---|
| 146 | ããæ¹æ³ãæåã§ããï¼ãããå®ç¾ããæ¹æ³ã¯æ¬¡ã®éãã§ããï¼
|
---|
| 147 |
|
---|
| 148 | ã¾ãï¼ç¹æ®ã¬ã¸ã¹ã¿ãã³ã³ããã¹ãã«å«ãããã©ãããæå®ããã¿ã¹ã¯å±æ§ã
|
---|
| 149 | è¨ããï¼ä¾ãã°ï¼FPUã¬ã¸ã¹ã¿ã§ããã°ï¼ã¿ã¹ã¯å±æ§ã«TA_FPUãè¨ããï¼ã¿ã¹ã¯
|
---|
| 150 | ãã£ã¹ãããã£ã§ã¯ï¼ã¿ã¹ã¯å±æ§ãè¦ã¦ï¼ãã®å±æ§ãè¨å®ããã¦ããã°ç¹æ®ã¬
|
---|
| 151 | ã¸ã¹ã¿ãä¿å/復帰ããï¼
|
---|
| 152 |
|
---|
| 153 | ãã¼ãã¦ã§ã¢çã«ç¹æ®ã¬ã¸ã¹ã¿ããã£ã¹ã¨ã¼ãã«ã§ããå ´åã«ã¯ï¼ãã®å±æ§ã
|
---|
| 154 | è¨å®ããã¦ããªãã¿ã¹ã¯ã«åãæããæã«ç¹æ®ã¬ã¸ã¹ã¿ããã£ã¹ã¨ã¼ãã«ãã
|
---|
| 155 | ã¨ï¼èª¤ã£ã¦ç¹æ®ã¬ã¸ã¹ã¿ã使ã£ãå ´åãæ¤åºã§ããï¼
|
---|
| 156 |
|
---|
| 157 | ããã«ï¼å²è¾¼ã¿ãã³ãã©ï¼ISRï¼å¨æãã³ãã©ï¼ã¢ã©ã¼ã ãã³ãã©ãå«ãï¼ã
|
---|
| 158 | CPUä¾å¤ãã³ãã©ã§ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ããå ´åã«ã¯ï¼ãããã®å¦çåä½ã«ã
|
---|
| 159 | ç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ãããã©ããã®å±æ§ãè¨ããæ¹æ³ãèããããï¼
|
---|
| 160 |
|
---|
| 161 | ããã§ï¼ã¿ã¹ã¯ï¼ã¾ãã¯ä»ã®å¦çåä½ï¼ãç¹æ®ã¬ã¸ã¹ã¿ã使ç¨ãããã©ããã¯ï¼
|
---|
| 162 | ã³ã³ãã¤ã©ãã©ã¤ãã©ãªã«ä¾åããå ´åãããããï¼æ³¨æãå¿
|
---|
| 163 | è¦ã§ããï¼ä¾ã
|
---|
| 164 | ã°ï¼æµ®åå°æ°ç¹æ¼ç®ãå«ã¾ãªãããã°ã©ã ã§ãã£ã¦ãï¼ã³ã³ãã¤ã©ããã®æ¹ã
|
---|
| 165 | æ§è½ãé«ãã¨å¤æããã°ï¼æµ®åå°æ°ç¹å½ä»¤ãçæããå ´åãããï¼
|
---|
| 166 |
|
---|
| 167 |
|
---|
| 168 | âæ¡å¼µããã±ã¼ã¸ã®ä½¿ãæ¹
|
---|
| 169 |
|
---|
| 170 | ASP3ã«ã¼ãã«ã§ã¯ï¼ããã¤ãã®æ¡å¼µæ©è½ãå®è£
|
---|
| 171 | ããããã«ï¼æ¡å¼µããã±ã¼ã¸ã
|
---|
| 172 | ãµãã¼ããã¦ããï¼æ¡å¼µããã±ã¼ã¸ã¯ï¼extensionãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 173 |
|
---|
| 174 | æ¡å¼µããã±ã¼ã¸ã使ç¨ããå ´åã«ã¯ï¼UNIXã§ããã°ï¼ASP3ã«ã¼ãã«ã®ã½ã¼ã¹ãã¡
|
---|
| 175 | ã¤ã«ã®ããããã£ã¬ã¯ããªã§ï¼
|
---|
| 176 |
|
---|
| 177 | % cp -r extension/<æ¡å¼µããã±ã¼ã¸ã®ãã£ã¬ã¯ããªå>/* .
|
---|
| 178 |
|
---|
| 179 | ãå®è¡ããï¼ãã®æï¼å
|
---|
| 180 | ã®ï¼æ¡å¼µåã®ï¼ã½ã¼ã¹ãã¡ã¤ã«ã¯ä¸æ¸ãããã¦ãã¾ã
|
---|
| 181 | ããï¼æ¡å¼µããªãã«ã¼ãã«ã使ç¨ãããå ´åã«ã¯ï¼å¥ã®ãã£ã¬ã¯ããªã«ã½ã¼ã¹
|
---|
| 182 | ãã¡ã¤ã«ãå±éãã¦ï¼ä¸ã®ã³ãã³ããå®è¡ãããã¨ï¼
|
---|
| 183 |
|
---|
| 184 | è¤æ°ã®æ¡å¼µããã±ã¼ã¸ã使ããã¨ã¯èæ
|
---|
| 185 | ®ãã¦ããªããï¼æ¡å¼µããã±ã¼ã¸ã®çµã¿
|
---|
| 186 | åããã«ãã£ã¦ã¯ï¼æä½æ¥ã«ããè¤æ°ã®æ¡å¼µããã±ã¼ã¸ããã¼ã¸ãããã¨ã¯å¯
|
---|
| 187 | è½ã§ããï¼
|
---|
| 188 |
|
---|
| 189 | âããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 190 |
|
---|
| 191 | ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ããªããã®èª¿æ´æ©è½ã追å ããããã®æ¡
|
---|
| 192 | å¼µããã±ã¼ã¸ã§ããï¼ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/driftãã£
|
---|
| 193 | ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 194 |
|
---|
| 195 | ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_DRIFTãkernel.hä¸ã§
|
---|
| 196 | å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ããªãã調æ´æ©è½ã使ç¨ã§ãããã©ããã
|
---|
| 197 | å¤å¥ãããã¨ãã§ããï¼
|
---|
| 198 |
|
---|
| 199 | ããªãã調æ´æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 200 |
|
---|
| 201 | ER ercd = set_dft(int32_t drift)
|
---|
| 202 |
|
---|
| 203 | âã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 204 |
|
---|
| 205 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¡ãã»ã¼ã¸ãããã¡æ©è½ã追å ã
|
---|
| 206 | ãããã®æ¡å¼µããã±ã¼ã¸ã§ããï¼ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼
|
---|
| 207 | extension/messagebufãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 208 |
|
---|
| 209 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_MESSAGEBUFã
|
---|
| 210 | kernel.hä¸ã§å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ã¡ãã»ã¼ã¸ãããã¡æ©è½ã使
|
---|
| 211 | ç¨ã§ãããã©ãããå¤å¥ãããã¨ãã§ããï¼
|
---|
| 212 |
|
---|
| 213 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 214 |
|
---|
| 215 | ER ercd = snd_mbf(ID mbfid, const void *msg, uint_t msgsz)
|
---|
| 216 | ER ercd = psnd_mbf(ID mbfid, const void *msg, uint_t msgsz)
|
---|
| 217 | ER ercd = tsnd_mbf(ID mbfid, const void *msg, uint_t msgsz, TMO tmout)
|
---|
| 218 | ER_UINT msgsz = rcv_mbf(ID mbfid, void *msg)
|
---|
| 219 | ER_UINT msgsz = prcv_mbf(ID mbfid, void *msg)
|
---|
| 220 | ER_UINT msgsz = trcv_mbf(ID mbfid, void *msg, TMO tmout)
|
---|
| 221 | ER ercd = ini_mbf(ID mbfid)
|
---|
| 222 | ER ercd = ref_mbf(ID mbfid, T_RMBF *pk_rmbf)
|
---|
| 223 |
|
---|
| 224 | ã¡ãã»ã¼ã¸ãããã¡æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ãããéçAPI
|
---|
| 225 |
|
---|
| 226 | CRE_MBF(ID mbfid, { ATR mbfatr, uint_t maxmsz, size_t mbfsz, void *mbfmb })
|
---|
| 227 |
|
---|
| 228 | âãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 229 |
|
---|
| 230 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãªã¼ãã©ã³ãã³ãã©æ©è½ã追å ã
|
---|
| 231 | ãããã®æ¡å¼µããã±ã¼ã¸ã§ããï¼ãã ãï¼ãã®æ¡å¼µããã±ã¼ã¸ã使ãããã«ã¯ï¼
|
---|
| 232 | ã¿ã¼ã²ããä¾åé¨ã対å¿ãã¦ããå¿
|
---|
| 233 | è¦ãããï¼ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µãã
|
---|
| 234 | ã±ã¼ã¸ã¯ï¼extension/ovrhdrãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 235 |
|
---|
| 236 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã§ï¼ã¿ã¼ã²ããä¾åé¨ãæ¡å¼µããã±ã¼
|
---|
| 237 | ã¸ã«å¯¾å¿ãã¦ããå ´åã«ã¯ï¼TOPPERS_SUPPORT_OVRHDRãkernel.hä¸ã§å®ç¾©ãã
|
---|
| 238 | ãã®ã§ï¼ãããç¨ãã¦ãªã¼ãã©ã³ã¿ã¤ãæ©è½ã使ç¨ã§ãããã©ãããå¤å¥ãã
|
---|
| 239 | ãã¨ãã§ããï¼
|
---|
| 240 |
|
---|
| 241 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 242 |
|
---|
| 243 | ER ercd = sta_ovr(ID tskid, PRCTIM ovrtim)
|
---|
| 244 | ER ercd = stp_ovr(ID tskid)
|
---|
| 245 | ER ercd = ref_ovr(ID tskid, T_ROVR *pk_rovr)
|
---|
| 246 |
|
---|
| 247 | ãªã¼ãã©ã³ãã³ãã©æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ãããéçAPI
|
---|
| 248 |
|
---|
| 249 | DEF_OVR({ ATR ovratr, OVRHDR ovrhdr })
|
---|
| 250 |
|
---|
| 251 | âã¿ã¹ã¯åªå
|
---|
| 252 | 度æ¡å¼µããã±ã¼ã¸
|
---|
| 253 |
|
---|
| 254 | ã¿ã¹ã¯åªå
|
---|
| 255 | 度æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¿ã¹ã¯åªå
|
---|
| 256 | 度ãæ大256段éã«æ¡å¼µããããã®
|
---|
| 257 | æ¡å¼µããã±ã¼ã¸ã§ããï¼ãã®æ¡å¼µããã±ã¼ã¸ã¯ï¼ã¿ã¹ã¯åªå
|
---|
| 258 | 度ã«å ãã¦ï¼ãã¼
|
---|
| 259 | ã¿åªå
|
---|
| 260 | 度ï¼ã¡ãã»ã¼ã¸åªå
|
---|
| 261 | 度ï¼å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³åªå
|
---|
| 262 | 度ã256段éã«æ¡å¼µ
|
---|
| 263 | ããï¼ã¿ã¹ã¯åªå
|
---|
| 264 | 度æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/pri_levelãã£ã¬ã¯ããªã«ç½®
|
---|
| 265 | ãã¦ããï¼
|
---|
| 266 |
|
---|
| 267 | ã¿ã¹ã¯åªå
|
---|
| 268 | 度æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_PRI_LEVELãkernel.hä¸ã§
|
---|
| 269 | å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ã¿ã¹ã¯åªå
|
---|
| 270 | 度ã®ç¯å²ãæ¡å¼µããã¦ãããã©
|
---|
| 271 | ãããå¤å¥ãããã¨ãã§ããï¼
|
---|
| 272 |
|
---|
| 273 | âå¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸
|
---|
| 274 |
|
---|
| 275 | å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã¯ï¼å¶ç´ã¿ã¹ã¯ã®æ©è½ã追å ããããã®æ¡å¼µããã±ã¼
|
---|
| 276 | ã¸ã§ããï¼å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/rstr_taskãã£ã¬ã¯ããªã«
|
---|
| 277 | ç½®ãã¦ããï¼
|
---|
| 278 |
|
---|
| 279 | å¶ç´ã¿ã¹ã¯æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_RSTR_TASKãkernel.hä¸ã§å®
|
---|
| 280 | 義ããã¦ããã®ã§ï¼ãããç¨ãã¦å¶ç´ã¿ã¹ã¯ã®æ©è½ã使ç¨ã§ãããã©ãããå¤
|
---|
| 281 | å¥ãããã¨ãã§ããï¼
|
---|
| 282 |
|
---|
| 283 | âãµãåªå
|
---|
| 284 | 度æ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 285 |
|
---|
| 286 | ãµãåªå
|
---|
| 287 | 度æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãµãåªå
|
---|
| 288 | 度æ©è½ã追å ããããã®æ¡å¼µãã
|
---|
| 289 | ã±ã¼ã¸ã§ããï¼ãµãåªå
|
---|
| 290 | 度æ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼extension/subprioãã£ã¬ã¯
|
---|
| 291 | ããªã«ç½®ãã¦ããï¼
|
---|
| 292 |
|
---|
| 293 | ãµãåªå
|
---|
| 294 | 度æ©è½æ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_SUBPRIOãkernel.hä¸ã§
|
---|
| 295 | å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦ãµãåªå
|
---|
| 296 | 度æ©è½ã使ç¨ã§ãããã©ãããå¤
|
---|
| 297 | å¥ãããã¨ãã§ããï¼
|
---|
| 298 |
|
---|
| 299 | ãµãåªå
|
---|
| 300 | 度æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 301 |
|
---|
| 302 | ER ercd = chg_spr(ID tskid, uint_t subpri)
|
---|
| 303 |
|
---|
| 304 | ãµãåªå
|
---|
| 305 | 度æ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 306 |
|
---|
| 307 | ENA_SPR(PRI tskpri)
|
---|
| 308 |
|
---|
| 309 | âåççææ©è½æ¡å¼µããã±ã¼ã¸
|
---|
| 310 |
|
---|
| 311 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼ãªãã¸ã§ã¯ãã®åççææ©è½ã追å ãããã
|
---|
| 312 | ã®æ¡å¼µããã±ã¼ã¸ã§ããï¼TOPPERS第3ä¸ä»£ã«ã¼ãã«ï¼ITRONç³»ï¼çµ±åä»æ§æ¸ã«è¦
|
---|
| 313 | å®ããã以ä¸ã®ãªãã¸ã§ã¯ãçæï¼åé¤ã®ããã®ãµã¼ãã¹ã³ã¼ã«ï¼å²ä»ãå¯è½
|
---|
| 314 | ãªIDçªå·ã®æ°ãæå®ããéçAPIã«å ãã¦ï¼ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã
|
---|
| 315 | è¨å®ããéçAPI DEF_KMMãå®è£
|
---|
| 316 | ãã¦ããï¼åççææ©è½æ¡å¼µããã±ã¼ã¸ã¯ï¼
|
---|
| 317 | extension/dcreãã£ã¬ã¯ããªã«ç½®ãã¦ããï¼
|
---|
| 318 |
|
---|
| 319 | ãã ãï¼ã«ã¼ãã«å
|
---|
| 320 | ã§ã®åçã¡ã¢ãªç®¡çã«é¢ãã¦ã¯ï¼ã¿ã¼ã²ããéä¾åé¨ã§ã¯ï¼
|
---|
| 321 | ã¡ã¢ãªé åãå
|
---|
| 322 | é ããé ã«å²ãå½ã¦ï¼è§£æ¾ãããã¡ã¢ãªé åãåå©ç¨ããªãã¡
|
---|
| 323 | ã¢ãªç®¡çã¢ã¸ã¥ã¼ã«ã®ã¿ãå®è£
|
---|
| 324 | ãã¦ããï¼æ¬æ ¼çãªåçã¡ã¢ãªç®¡çãè¡ããã
|
---|
| 325 | å ´åã«ã¯ï¼ã¿ã¼ã²ããä¾åé¨ã¾ãã¯ã¦ã¼ã¶å´ã§ï¼ãã®ããã®é¢æ°ãç¨æããå¿
|
---|
| 326 |
|
---|
| 327 | è¦ãããï¼ç¨æããé¢æ°çã«ã¤ãã¦ã¯ï¼ãTOPPERS/ASP3ã«ã¼ãã« ã¿ã¼ã²ããä¾
|
---|
| 328 | åé¨ ãã¼ãã£ã³ã°ã¬ã¤ããã®ã6.15 åçã¡ã¢ãªç®¡çãã®ç¯ãåç
|
---|
| 329 | §ãããã¨ï¼
|
---|
| 330 |
|
---|
| 331 | åçæ©è½æ¡å¼µæ¡å¼µããã±ã¼ã¸ã§ã¯ï¼TOPPERS_SUPPORT_DYNAMIC_CREãkernel.hä¸
|
---|
| 332 | ã§å®ç¾©ããã¦ããã®ã§ï¼ãããç¨ãã¦åççææ©è½ã使ç¨ã§ãããã©ãããå¤
|
---|
| 333 | å¥ãããã¨ãã§ããï¼
|
---|
| 334 |
|
---|
| 335 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ããããµã¼ãã¹ã³ã¼ã«
|
---|
| 336 |
|
---|
| 337 | ER_ID tskid = acre_tsk(const T_CTSK *pk_ctsk)
|
---|
| 338 | ER ercd = del_tsk(ID tskid)
|
---|
| 339 | ER_ID semid = acre_sem(const T_CSEM *pk_csem)
|
---|
| 340 | ER ercd = del_sem(ID semid)
|
---|
| 341 | ER_ID flgid = acre_flg(const T_CFLG *pk_cflg)
|
---|
| 342 | ER ercd = del_flg(ID flgid)
|
---|
| 343 | ER_ID dtqid = acre_dtq(const T_CDTQ *pk_cdtq)
|
---|
| 344 | ER ercd = del_dtq(ID dtqid)
|
---|
| 345 | ER_ID pdqid = acre_pdq(const T_CPDQ *pk_cpdq)
|
---|
| 346 | ER ercd = del_pdq(ID pdqid)
|
---|
| 347 | ER_ID mtxid = acre_mtx(const T_CMTX *pk_cmtx)
|
---|
| 348 | ER ercd = del_mtx(ID mtxid)
|
---|
| 349 | ER_ID mpfid = acre_mpf(const T_CMPF *pk_cmpf)
|
---|
| 350 | ER ercd = del_mpf(ID mpfid)
|
---|
| 351 | ER_ID cycid = acre_cyc(const T_CCYC *pk_ccyc)
|
---|
| 352 | ER ercd = del_cyc(ID cycid)
|
---|
| 353 | ER_ID almid = acre_alm(const T_CALM *pk_calm)
|
---|
| 354 | ER ercd = del_alm(ID almid)
|
---|
| 355 | ER_ID isrid = acre_isr(const T_CISR *pk_cisr)
|
---|
| 356 | ER ercd = del_isr(ID isrid)
|
---|
| 357 |
|
---|
| 358 | åççææ©è½æ¡å¼µããã±ã¼ã¸ã«ãã追å ãããéçAPI
|
---|
| 359 |
|
---|
| 360 | AID_TSK(uint_t notsk)
|
---|
| 361 | AID_SEM(uint_t nosem)
|
---|
| 362 | AID_FLG(uint_t noflg)
|
---|
| 363 | AID_DTQ(uint_t nodtq)
|
---|
| 364 | AID_PDQ(uint_t nopdq)
|
---|
| 365 | AID_MTX(uint_t nomtx)
|
---|
| 366 | AID_MPF(uint_t nompf)
|
---|
| 367 | AID_CYC(uint_t nocyc)
|
---|
| 368 | AID_ALM(uint_t noalm)
|
---|
| 369 | AID_ISR(uint_t noisr)
|
---|
| 370 | DEF_KMM({ SIZE kmmsz, STK_T *kmm })
|
---|
| 371 |
|
---|
| 372 | ----------------------------------------------------------------------
|
---|
| 373 | DEF_KMM ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®ãSDã
|
---|
| 374 |
|
---|
| 375 | ãéçAPIã
|
---|
| 376 | DEF_KMM({ SIZE kmmsz, STK_T *kmm })
|
---|
| 377 |
|
---|
| 378 | ããã©ã¡ã¼ã¿ã
|
---|
| 379 | ãï¼ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®æ
|
---|
| 380 | å ±
|
---|
| 381 | SIZE kmmsz ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®ãµã¤ãºï¼ãã¤ãæ°ï¼
|
---|
| 382 | STK_T kmm ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®å
|
---|
| 383 | é çªå°
|
---|
| 384 |
|
---|
| 385 | ãã¨ã©ã¼ã³ã¼ãã
|
---|
| 386 | E_PAR ãã©ã¡ã¼ã¿ã¨ã©ã¼
|
---|
| 387 | ã»kmmszã0以ä¸
|
---|
| 388 | ã»ãã®ä»ã®æ¡ä»¶ã«ã¤ãã¦ã¯æ©è½ã®é
|
---|
| 389 | ãåç
|
---|
| 390 | §
|
---|
| 391 | E_OBJ ãªãã¸ã§ã¯ãç¶æ
|
---|
| 392 | ã¨ã©ã¼
|
---|
| 393 | ã»ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®æ¸ã¿
|
---|
| 394 |
|
---|
| 395 | ãæ©è½ã
|
---|
| 396 |
|
---|
| 397 | åãã©ã¡ã¼ã¿ã§æå®ããã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åã®è¨å®æ
|
---|
| 398 | å ±ã«å¾ã£ã¦ï¼
|
---|
| 399 | ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®ããï¼
|
---|
| 400 |
|
---|
| 401 | kmmszã¯æ´æ°å®æ°å¼ãã©ã¡ã¼ã¿ï¼kmmã¯ä¸è¬å®æ°å¼ãã©ã¡ã¼ã¿ã§ããï¼
|
---|
| 402 |
|
---|
| 403 | kmmãNULLã¨ããå ´åï¼kmmszã§æå®ãããµã¤ãºã®ã¡ã¢ãªé åãï¼ã³ã³ãã£ã®ã¥
|
---|
| 404 | ã¬ã¼ã¿ã確ä¿ããï¼kmmszã«ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããªããµã¤ãºãæå®ã
|
---|
| 405 | ãæã«ã¯ï¼ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããããã«ãµã¤ãºã大ããæ¹ã«ä¸¸ãã¦
|
---|
| 406 | 確ä¿ããï¼
|
---|
| 407 |
|
---|
| 408 | ã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãã¢ããªã±ã¼ã·ã§ã³ã§ç¢ºä¿ããå ´åã«ã¯ï¼
|
---|
| 409 | kmmszã§æå®ãããµã¤ãºã®ã¡ã¢ãªé åã確ä¿ãï¼kmmã«ãã®å
|
---|
| 410 | é çªå°ãæå®ããï¼
|
---|
| 411 |
|
---|
| 412 | DEF_KMMã«ããã«ã¼ãã«ãå²ãä»ããã¡ã¢ãªé åãè¨å®ããªãå ´åï¼ã«ã¼ãã«ã
|
---|
| 413 | å²ãä»ããã¡ã¢ãªé åã¯ç¢ºä¿ãããªãï¼
|
---|
| 414 |
|
---|
| 415 | kmmãkmmszã«ã¿ã¼ã²ããå®ç¾©ã®å¶ç´ã«åè´ããªãå
|
---|
| 416 | é çªå°ããµã¤ãºãæå®ãã
|
---|
| 417 | æã«ã¯ï¼E_PARã¨ã©ã¼ã¨ãªãï¼
|
---|
| 418 | ----------------------------------------------------------------------
|
---|
| 419 |
|
---|
| 420 |
|
---|
| 421 | âCPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºã
|
---|
| 422 |
|
---|
| 423 | CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 424 | ¥å£å¦çã¯ï¼CPUä¾å¤ãçºçããªãããã«å®è£
|
---|
| 425 | ããªããã°
|
---|
| 426 | ãªããªããï¼ãããé²ããªãã¿ã¼ã²ããã«ããã¦ã¯ï¼CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 427 | ¥å£
|
---|
| 428 | å¦çãçµç±ããã«ï¼ã¢ããªã±ã¼ã·ã§ã³ãç¨æããCPUä¾å¤ãã³ãã©ãç´æ¥å®è¡ã
|
---|
| 429 | ãæ¹æ³ãç¨æããã®ãæã¾ããï¼ãããï¼CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºãã¨å¼ã¶ï¼
|
---|
| 430 |
|
---|
| 431 | ããã§ã¯ï¼ãã¼ãã¦ã§ã¢ã§ãã¯ã¿ãã¼ãã«ãæã¤ããã»ããµã«ããã¦ï¼ã¿ã¼ã²ã
|
---|
| 432 | ãéä¾åé¨ã«å«ã¾ããæ¨æºã®CPUä¾å¤ç®¡çæ©è½ã®åæåå¦çãç¨ãã¦ããå ´å
|
---|
| 433 | ï¼OMIT_INITILIZE_EXCEPTIONããã¯ãå®ç¾©ãã¦ããªãå ´åï¼ã«ï¼ã¿ã¼ã²ããä¾
|
---|
| 434 | åé¨ã®ã¿ã®ä¿®æ£ã«ããï¼CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºãã®æ©è½ã追å ããæ¹æ³ã«
|
---|
| 435 | ã¤ãã¦èª¬æããï¼
|
---|
| 436 |
|
---|
| 437 | âTA_DIRECTå±æ§ã®å°å
|
---|
| 438 | ¥
|
---|
| 439 |
|
---|
| 440 | CPUä¾å¤ãã³ãã©ã®ç´æ¥å¼åºããæå®ããããã«ï¼CPUä¾å¤ãã³ãã©å±æ§ã«ï¼
|
---|
| 441 | TA_DIRECTå±æ§ãå°å
|
---|
| 442 | ¥ããï¼
|
---|
| 443 |
|
---|
| 444 | âã¿ã¼ã²ããä¾åé¨ã®ä¿®æ£ç®æ
|
---|
| 445 |
|
---|
| 446 | TA_DIRECTã®å¤ãï¼target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡
|
---|
| 447 | ã¤ã«ï¼ã§å®ç¾©ãï¼ãã®å¤ãã³ã³ãã£ã®ã¥ã¬ã¼ã¿ãåãåºããããã«ï¼
|
---|
| 448 | target_def.csvï¼ã¾ãã¯ï¼ããã«ä»£ãããã¡ã¤ã«ï¼ã«æ¬¡ã®è¡ã追å ããï¼
|
---|
| 449 |
|
---|
| 450 | TA_DIRECT,TA_DIRECT
|
---|
| 451 |
|
---|
| 452 | 次ã«ï¼target.tfï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§ï¼
|
---|
| 453 | TARGET_EXCATRã«è¨å®ãããå¤ã«ï¼TA_DIRECTã追å ããï¼ä¾ãã°ï¼ä»ã®ã¿ã¼ã²ã
|
---|
| 454 | ãä¾åã®CPUä¾å¤ãã³ãã©å±æ§ããªãå ´åã«ã¯ï¼æ¬¡ã®ããã«è¨å®ããï¼
|
---|
| 455 |
|
---|
| 456 | $TARGET_EXCATR = TA_DIRECT$
|
---|
| 457 |
|
---|
| 458 | 次ã«ï¼OMIT_INITILIZE_EXCEPTIONããã¯ãå®ç¾©ãã¦ï¼CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 459 | ¥å£
|
---|
| 460 | å¦çãçæããããã®è¨è¿°ã¨CPUä¾å¤ãã³ãã©åæåãããã¯ã®æ¨æºã®å®ç¾©ãç
|
---|
| 461 | æãããã®ãææ¢ãï¼ããã«ãã£ã¦ææ¢ãããé¨åãtarget.tfã«ã³ãã¼ããä¸
|
---|
| 462 | ã§ï¼ä»¥ä¸ã®ä¿®æ£ãå ããï¼
|
---|
| 463 |
|
---|
| 464 | CPUä¾å¤ãã³ãã©ã®åºå
|
---|
| 465 | ¥å£å¦çãçæããããã®è¨è¿°ï¼EXCHDR_ENTRYã®ãªã¹ãï¼
|
---|
| 466 | ãçæããé¨åã¯ï¼æ¬¡ã®ããã«ä¿®æ£ããï¼
|
---|
| 467 |
|
---|
| 468 | ----------------------------------------
|
---|
| 469 | $FOREACH excno EXC.ORDER_LIST$
|
---|
| 470 | $IF (EXC.EXCATR[excno] & TA_DIRECT) == 0$
|
---|
| 471 | EXCHDR_ENTRY($EXC.EXCNO[excno]$, $+EXC.EXCNO[excno]$,$SPC$
|
---|
| 472 | $EXC.EXCHDR[excno]$)$NL$
|
---|
| 473 | $END$
|
---|
| 474 | $END$$NL$
|
---|
| 475 | ----------------------------------------
|
---|
| 476 |
|
---|
| 477 | ã¾ãï¼CPUä¾å¤ãã³ãã©åæåãããã¯ã®å®ç¾©ãçæããé¨åã¯ï¼æ¬¡ã®ããã«ä¿®
|
---|
| 478 | æ£ããï¼
|
---|
| 479 |
|
---|
| 480 | ----------------------------------------
|
---|
| 481 | $IF LENGTH(EXC.ORDER_LIST)$
|
---|
| 482 | const EXCINIB _kernel_excinib_table[TNUM_DEF_EXCNO] = {$NL$
|
---|
| 483 | $JOINEACH excno EXC.ORDER_LIST ",\n"$
|
---|
| 484 | $IF (EXC.EXCATR[excno] & TA_DIRECT) == 0$
|
---|
| 485 | $TAB${$SPC$
|
---|
| 486 | ($EXC.EXCNO[excno]$),$SPC$
|
---|
| 487 | ($EXC.EXCATR[excno]$),$SPC$
|
---|
| 488 | (FP)(EXC_ENTRY($EXC.EXCNO[excno]$, $EXC.EXCHDR[excno]$))$SPC$
|
---|
| 489 | }
|
---|
| 490 | $ELSE$
|
---|
| 491 | $TAB${$SPC$
|
---|
| 492 | ($EXC.EXCNO[excno]$),$SPC$
|
---|
| 493 | ($EXC.EXCATR[excno]$),$SPC$
|
---|
| 494 | (FP)($EXC.EXCHDR[excno]$)
|
---|
| 495 | }
|
---|
| 496 | $END$$NL$
|
---|
| 497 | $END$
|
---|
| 498 | };$NL$
|
---|
| 499 | $ELSE$
|
---|
| 500 | TOPPERS_EMPTY_LABEL(const EXCINIB, _kernel_excinib_table);$NL$
|
---|
| 501 | $END$$NL$
|
---|
| 502 | ----------------------------------------
|
---|
| 503 |
|
---|
| 504 | 以ä¸
|
---|