Changeset 389 for azure_iot_hub/trunk/asp3_dcre/kernel/interrupt.trb
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/kernel/interrupt.trb
-
Property svn:mime-type
changed from
text/x-ruby
totext/x-ruby;charset=UTF-8
r388 r389 9 9 # Graduate School of Information Science, Nagoya Univ., JAPAN 10 10 # 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 責ãããã¨ï¼ 47 # 48 # æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 49 ã 50 # ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 51 # ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 52 # ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 53 # ã®è²¬ä»»ãè² ããªãï¼ 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 # 免責すること. 33 # 34 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 35 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 36 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 37 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 38 # の責任を負わない. 54 39 # 55 40 # $Id$ … … 57 42 58 43 # 59 # å²è¾¼ã¿ç®¡çæ©è½ã®çæã¹ã¯ãªãã60 # 61 62 # 63 # kernel_cfg.c ã®çæ44 # 割込み管理機能の生成スクリプト 45 # 46 47 # 48 # kernel_cfg.cの生成 64 49 # 65 50 $kernelCfgC.comment_header("Interrupt Management Functions") 66 51 67 52 # 68 # CRE_ISR ã§ä½¿ç¨ã§ããå²è¾¼ã¿çªå·ã¨ããã«å¯¾å¿ããå²è¾¼ã¿ãã³ãã©çªå·ã®ã69 # ãã©ã«ãå®ç¾©53 # CRE_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号のデ 54 # フォルト定義 70 55 # 71 56 if $INTNO_CREISR_VALID.nil? … … 77 62 78 63 # 79 # CFG_INTã§ä½¿ç¨ã§ããå²è¾¼ã¿åªå 80 度ã®ããã©ã«ãå®ç¾© 64 # CFG_INTで使用できる割込み優先度のデフォルト定義 81 65 # 82 66 if $INTPRI_CFGINT_VALID.nil? … … 85 69 86 70 # 87 # å²è¾¼ã¿çªå·ã¨å²è¾¼ã¿ãã³ãã©çªå·ã®å¤æãã¼ãã«ã®ä½æ71 # 割込み番号と割込みハンドラ番号の変換テーブルの作成 88 72 # 89 73 if $INTNO_CREISR_VALID.length != $INHNO_CREISR_VALID.length … … 101 85 102 86 # 103 # å²è¾¼ã¿è¦æ±ã©ã¤ã³ã«é¢ããã¨ã©ã¼ãã§ãã¯87 # 割込み要求ラインに関するエラーチェック 104 88 # 105 89 $cfgData[:CFG_INT].each do |key, params| 106 # intno ãå²è¾¼ã¿çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ï¼»NGKI2972ï¼½90 # intnoが割込み番号として正しくない場合(E_PAR)[NGKI2972] 107 91 if $INTNO_VALID.index(params[:intno]).nil? 108 92 error_illegal("E_PAR", params, :intno) 109 93 end 110 94 111 # intatr ãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2969ï¼½112 # ï¼TA_ENAINTï¼TA_EDGEï¼TARGET_INTATR以å¤ã®ããããã»ããããã¦ããå ´åï¼95 # intatrが無効の場合(E_RSATR)[NGKI2969] 96 #(TA_ENAINT,TA_EDGE,TARGET_INTATR以外のビットがセットされている場合) 113 97 if (params[:intatr] & ~($TA_ENAINT|$TA_EDGE|$TARGET_INTATR)) != 0 114 98 error_illegal_sym("E_RSATR", params, :intatr, :intno) 115 99 end 116 100 117 # intpriãCFG_INTã«å¯¾ããå²è¾¼ã¿åªå 118 度ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ 119 # ï¼»NGKI2973ï¼½ 101 # intpriがCFG_INTに対する割込み優先度として正しくない場合(E_PAR) 102 # [NGKI2973] 120 103 if $INTPRI_CFGINT_VALID.index(params[:intpri]).nil? 121 104 error_illegal_sym("E_OBJ", params, :intpri, :intno) 122 105 end 123 106 124 # ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ããintnoã«å¯¾ãã¦ï¼intpriã«TMIN_INTPRIã125 # ããå°ããå¤ãæå®ãããªãã£ãå ´åï¼E_OBJï¼ï¼»NGKI2983ï¼½107 # カーネル管理外に固定されているintnoに対して,intpriにTMIN_INTPRIよ 108 # りも小さい値が指定されなかった場合(E_OBJ)[NGKI2983] 126 109 if !$INTNO_FIX_NONKERNEL.nil? 127 110 if !$INTNO_FIX_NONKERNEL.index(params[:intno]).nil? … … 133 116 end 134 117 135 # ã«ã¼ãã«ç®¡çã«åºå®ããã¦ããintnoã«å¯¾ãã¦ï¼intpriã«TMIN_INTPRIãã136 # ãå°ããå¤ãæå®ãããå ´åï¼E_OBJï¼ï¼»NGKI2984ï¼½118 # カーネル管理に固定されているintnoに対して,intpriにTMIN_INTPRIより 119 # も小さい値が指定された場合(E_OBJ)[NGKI2984] 137 120 if !$INTNO_FIX_KERNEL.nil? 138 121 if !$INTNO_FIX_KERNEL.index(params[:intno]).nil? … … 146 129 147 130 # 148 # å²è¾¼ã¿ãã³ãã©ã«é¢ããã¨ã©ã¼ãã§ãã¯131 # 割込みハンドラに関するエラーチェック 149 132 # 150 133 $cfgData[:DEF_INH].each do |key, params| 151 # inhno ãå²è¾¼ã¿ãã³ãã©çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼ï¼»NGKI3055ï¼½134 # inhnoが割込みハンドラ番号として正しくない場合(E_PAR)[NGKI3055] 152 135 if $INHNO_VALID.index(params[:inhno]).nil? 153 136 error_illegal("E_PAR", params, :inhno) 154 137 end 155 138 156 # inhatr ãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3052ï¼½157 # ï¼TARGET_INHATR以å¤ã®ããããã»ããããã¦ããå ´åï¼139 # inhatrが無効の場合(E_RSATR)[NGKI3052] 140 #(TARGET_INHATR以外のビットがセットされている場合) 158 141 if (params[:inhatr] & ~($TARGET_INHATR)) != 0 159 142 error_illegal_sym("E_RSATR", params, :inhatr, :inhno) 160 143 end 161 144 162 # ã«ã¼ãã«ç®¡çå¤ã«åºå®ããã¦ããinhnoã«å¯¾ãã¦ï¼inhatrã«TA_NONKERNELã163 # æå®ããã¦ããªãå ´åï¼E_RSATRï¼ï¼»NGKI3067ï¼½145 # カーネル管理外に固定されているinhnoに対して,inhatrにTA_NONKERNELが 146 # 指定されていない場合(E_RSATR)[NGKI3067] 164 147 if !$INHNO_FIX_NONKERNEL.nil? 165 148 if !$INHNO_FIX_NONKERNEL.index(params[:inhno]).nil? … … 171 154 end 172 155 173 # ã«ã¼ãã«ç®¡çã«åºå®ããã¦ããinhnoã«å¯¾ãã¦ï¼inhatrã«TA_NONKERNELãæ174 # å®ããã¦ããå ´åï¼E_RSATRï¼ï¼»NGKI3068ï¼½156 # カーネル管理に固定されているinhnoに対して,inhatrにTA_NONKERNELが指 157 # 定されている場合(E_RSATR)[NGKI3068] 175 158 if !$INHNO_FIX_KERNEL.nil? 176 159 if !$INHNO_FIX_KERNEL.index(params[:inhno]).nil? … … 185 168 intnoVal = $toIntnoVal[params[:inhno].val] 186 169 187 # inhno ã«å¯¾å¿ããintnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3062ï¼½170 # inhnoに対応するintnoに対するCFG_INTがない場合(E_OBJ)[NGKI3062] 188 171 if !$cfgData[:CFG_INT].has_key?(intnoVal) 189 172 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \ … … 192 175 intnoParams = $cfgData[:CFG_INT][intnoVal] 193 176 if (params[:inhatr] & $TA_NONKERNEL) == 0 194 # inhatrã«TA_NONKERNELãæå®ããã¦ãããï¼inhnoã«å¯¾å¿ããintno 195 # ã«å¯¾ãã¦CFG_INTã§è¨å®ãããå²è¾¼ã¿åªå 196 度ãTMIN_INTPRIãããå° 197 # ããå ´åï¼E_OBJï¼ï¼»NGKI3065ï¼½ 177 # inhatrにTA_NONKERNELが指定されておらず,inhnoに対応するintno 178 # に対してCFG_INTで設定された割込み優先度がTMIN_INTPRIよりも小 179 # さい場合(E_OBJ)[NGKI3065] 198 180 if intnoParams[:intpri] < $TMIN_INTPRI 199 181 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ … … 201 183 end 202 184 else 203 # inhatrã«TA_NONKERNELãæå®ããã¦ããï¼inhnoã«å¯¾å¿ããintnoã« 204 # 対ãã¦CFG_INTã§è¨å®ãããå²è¾¼ã¿åªå 205 度ãTMIN_INTPRI以ä¸ã§ãã 206 # å ´åï¼E_OBJï¼ï¼»NGKI3066ï¼½ 185 # inhatrにTA_NONKERNELが指定されており,inhnoに対応するintnoに 186 # 対してCFG_INTで設定された割込み優先度がTMIN_INTPRI以上である 187 # 場合(E_OBJ)[NGKI3066] 207 188 if intnoParams[:intpri] >= $TMIN_INTPRI 208 189 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ … … 215 196 216 197 # 217 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼ã«é¢ããã¨ã©ã¼ãã§ãã¯198 # 割込みサービスルーチン(ISR)に関するエラーチェック 218 199 # 219 200 $cfgData[:CRE_ISR].sort.each do |key, params| 220 # isratr ãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½221 # ï¼TARGET_ISRATR以å¤ã®ããããã»ããããã¦ããå ´åï¼201 # isratrが無効の場合(E_RSATR)[NGKI2998] 202 #(TARGET_ISRATR以外のビットがセットされている場合) 222 203 if (params[:isratr] & ~($TARGET_ISRATR)) != 0 223 204 error_illegal("E_RSATR", params, "isratr") 224 205 end 225 206 226 # intno ãCRE_ISRã«å¯¾ããå²è¾¼ã¿çªå·ã¨ãã¦æ£ãããªãå ´åï¼E_PARï¼227 # ï¼»NGKI3003ï¼½207 # intnoがCRE_ISRに対する割込み番号として正しくない場合(E_PAR) 208 # [NGKI3003] 228 209 if $INTNO_CREISR_VALID.index(params[:intno]).nil? 229 210 error_illegal("E_PAR", params, "intno") 230 211 end 231 212 232 # (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI) ã§ãªãå ´åï¼E_PARï¼233 # ï¼»NGKI3005ï¼½213 # (TMIN_ISRPRI <= isrpri && isrpri <= TMAX_ISRPRI)でない場合(E_PAR) 214 # [NGKI3005] 234 215 if !($TMIN_ISRPRI <= params[:isrpri] && params[:isrpri] <= $TMAX_ISRPRI) 235 216 error_illegal("E_PAR", params, "isrpri") … … 238 219 239 220 $INTNO_CREISR_VALID.each do |intnoVal| 240 # å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRã®ãªã¹ãã®ä½æ221 # 割込み番号intnoに対して登録されたISRのリストの作成 241 222 isrParamsList = [] 242 223 $cfgData[:CRE_ISR].sort.each do |key, params| … … 246 227 end 247 228 248 # å²è¾¼ã¿çªå·intnoã«å¯¾ãã¦ç»é²ãããISRãåå¨ããå ´å229 # 割込み番号intnoに対して登録されたISRが存在する場合 249 230 if isrParamsList.size > 0 250 231 inhnoVal = $toInhnoVal[intnoVal] 251 232 252 # intno ã«å¯¾å¿ããinhnoã«å¯¾ãã¦DEF_INHãããå ´åï¼E_OBJï¼ï¼»NGKI3013ï¼½233 # intnoに対応するinhnoに対してDEF_INHがある場合(E_OBJ)[NGKI3013] 253 234 if $cfgData[:DEF_INH].has_key?(inhnoVal) 254 235 inhnoParams = $cfgData[:DEF_INH][inhnoVal] … … 257 238 end 258 239 259 # intno ã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3012ï¼½240 # intnoに対するCFG_INTがない場合(E_OBJ)[NGKI3012] 260 241 if !$cfgData[:CFG_INT].has_key?(intnoVal) 261 242 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ … … 264 245 intnoParams = $cfgData[:CFG_INT][intnoVal] 265 246 266 # intnoã«å¯¾ãã¦CFG_INTã§è¨å®ãããå²è¾¼ã¿åªå 267 度ãTMIN_INTPRIããã 268 # å°ããå ´åï¼E_OBJï¼ï¼»NGKI3014ï¼½ 247 # intnoに対してCFG_INTで設定された割込み優先度がTMIN_INTPRIよりも 248 # 小さい場合(E_OBJ)[NGKI3014] 269 249 if intnoParams[:intpri] < $TMIN_INTPRI 270 250 error_ercd("E_OBJ", isrParamsList[0], … … 277 257 278 258 # 279 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼ç®¡çã®ãã¼ã¿æ§é259 # 割込みサービスルーチン(ISR)管理のデータ構造 280 260 # 281 261 intnoIsrList = [] … … 313 293 314 294 # 315 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ï¼ISRï¼å¼åºãã®ããã®å²è¾¼ã¿ãã³ãã©295 # 割込みサービスルーチン(ISR)呼出しのための割込みハンドラ 316 296 # 317 297 intnoIsrList.each do |intnoVal| 318 298 inhnoVal = $toInhnoVal[intnoVal] 319 299 320 # 次ã®DEF_INHã«ç¸å½ãããã¼ã¿ãçæ300 # 次のDEF_INHに相当するデータを生成 321 301 # DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> } ); 322 302 $cfgData[:DEF_INH][inhnoVal] = { … … 326 306 } 327 307 328 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã©308 # 割込みサービスルーチン用の割込みハンドラ 329 309 $kernelCfgC.add("void") 330 310 $kernelCfgC.add("_kernel_inthdr_#{intnoVal}(void)") … … 335 315 336 316 # 337 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ã«é¢ããä¸è¬çãªæ 338 å ±ã®çæ 317 # 割込みサービスルーチンに関する一般的な情報の生成 339 318 # 340 319 class IsrObject < KernelObject … … 344 323 345 324 def prepare(key, params) 346 # ã¨ã©ã¼ãã§ãã¯ã¯å®æ½æ¸ã¿ãªã®ã§ï¼ããã§ã®å¦çã¯ä¸è¦325 # エラーチェックは実施済みなので,ここでの処理は不要 347 326 end 348 327 … … 355 334 IsrObject.new.generate() 356 335 357 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³çæé åºãã¼ãã«ã®çæ336 # 割込みサービスルーチン生成順序テーブルの生成 358 337 if $cfgData[:CRE_ISR].size != 0 359 338 $kernelCfgC.add("const ID _kernel_isrorder_table[TNUM_SISRID] = { ") … … 371 350 372 351 # 373 # å²è¾¼ã¿ãã³ãã©ã®ããã®æ¨æºçãªåæåæ 374 å ±ã®çæ 352 # 割込みハンドラのための標準的な初期化情報の生成 375 353 # 376 354 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INHINIB_TABLE 377 355 # 378 # å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ°356 # 定義する割込みハンドラの数 379 357 # 380 358 $kernelCfgC.add(<<EOS) … … 385 363 if $cfgData[:DEF_INH].size != 0 386 364 # 387 # å²è¾¼ã¿ãã³ãã©ã®ã¨ã³ããª365 # 割込みハンドラのエントリ 388 366 # 389 367 $cfgData[:DEF_INH].each do |key, params| … … 396 374 397 375 # 398 # å²è¾¼ã¿ãã³ãã©åæåãããã¯376 # 割込みハンドラ初期化ブロック 399 377 # 400 378 $kernelCfgC.add("const INHINIB _kernel_inhinib_table[TNUM_DEF_INHNO] = {") … … 418 396 419 397 # 420 # å²è¾¼ã¿è¦æ±ã©ã¤ã³ã®ããã®æ¨æºçãªåæåæ 421 å ±ã®çæ 398 # 割込み要求ラインのための標準的な初期化情報の生成 422 399 # 423 400 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INTINIB_TABLE 424 401 # 425 # è¨å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ°402 # 設定する割込み要求ラインの数 426 403 # 427 404 $kernelCfgC.add(<<EOS) … … 431 408 432 409 # 433 # å²è¾¼ã¿è¦æ±ã©ã¤ã³åæåãããã¯410 # 割込み要求ライン初期化ブロック 434 411 # 435 412 if $cfgData[:CFG_INT].size != 0 … … 449 426 450 427 # 451 # å²è¾¼ã¿ç®¡çæ©è½åæåé¢æ°ã®è¿½å428 # 割込み管理機能初期化関数の追加 452 429 # 453 430 $initializeFunctions.push("_kernel_initialize_interrupt();") -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.