Changeset 306 for asp3_wo_tecs/trunk/kernel/interrupt.trb
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/kernel/interrupt.trb
r305 r306 53 53 # ã®è²¬ä»»ãè² ããªãï¼ 54 54 # 55 # $Id: interrupt.trb 6 12 2016-02-08 04:27:57Z ertl-hiro $55 # $Id: interrupt.trb 678 2016-03-06 02:36:09Z ertl-hiro $ 56 56 # 57 57 … … 78 78 # ãã¬ã¼ã¹ãã°ãã¯ãã®ããã©ã«ãå®ç¾© 79 79 # 80 $kernelCfgC.a ppend(<<EOS)80 $kernelCfgC.add(<<EOS) 81 81 #ifndef LOG_ISR_ENTER 82 82 #define LOG_ISR_ENTER(isrid) … … 86 86 #define LOG_ISR_LEAVE(isrid) 87 87 #endif /* LOG_ISR_LEAVE */ 88 89 88 EOS 90 89 … … 105 104 # 106 105 if $INTPRI_CFGINT_VALID.nil? 107 $INTPRI_CFGINT_VALID = $TMIN_INTPRI. val.upto($TMAX_INTPRI.val).to_a106 $INTPRI_CFGINT_VALID = $TMIN_INTPRI.upto($TMAX_INTPRI).to_a 108 107 end 109 108 … … 151 150 if !$INTNO_FIX_NONKERNEL.index(params[:intno]).nil? 152 151 if params[:intpri] >= $TMIN_INTPRI 153 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \154 " must have higher priority than TMIN_INTPRI")152 error_ercd("E_OBJ", params, "%%intno must have higher priority " \ 153 "than TMIN_INTPRI in %apiname") 155 154 end 156 155 end … … 162 161 if !$INTNO_FIX_KERNEL.index(params[:intno]).nil? 163 162 if params[:intpri] < $TMIN_INTPRI 164 error_ercd("E_OBJ", params, " intno `#{params[:intno]}'" \165 " must have lower or equal priority to TMIN_INTPRI")163 error_ercd("E_OBJ", params, "%%intno must have lower or equal " \ 164 "priority to TMIN_INTPRI in %apiname") 166 165 end 167 166 end … … 180 179 # inhatrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI3052ï¼½ 181 180 #ï¼TARGET_INHATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 182 if (params[:inhatr] & ~ $TARGET_INHATR) != 0181 if (params[:inhatr] & ~($TARGET_INHATR)) != 0 183 182 error_illegal_sym("E_RSATR", params, :inhatr, :inhno) 184 183 end … … 189 188 if !$INHNO_FIX_NONKERNEL.index(params[:inhno]).nil? 190 189 if (params[:inhatr] & $TA_NONKERNEL) == 0 191 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \192 " must be non-kernel interrupt")190 error_ercd("E_RSATR", params, "%%inhno must be " \ 191 "non-kernel interrupt in %apiname") 193 192 end 194 193 end … … 200 199 if !$INHNO_FIX_KERNEL.index(params[:inhno]).nil? 201 200 if (params[:inhatr] & $TA_NONKERNEL) != 0 202 error_ercd("E_RSATR", params, " inhno `#{params[:inhno]}'" \203 " must not be non-kernel interrupt")201 error_ercd("E_RSATR", params, "%%inhno must not be " \ 202 "non-kernel interrupt in %apiname") 204 203 end 205 204 end … … 211 210 # inhnoã«å¯¾å¿ããintnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3062ï¼½ 212 211 if !$cfgData[:CFG_INT].has_key?(intnoVal) 213 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \214 " inhno `#{params[:inhno]}'is not configured with CFG_INT")212 error_ercd("E_OBJ", params, "intno `#{intnoVal}' corresponding to " \ 213 "%%inhno in %apiname is not configured with CFG_INT") 215 214 else 216 215 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 221 220 # ããå ´åï¼E_OBJï¼ï¼»NGKI3065ï¼½ 222 221 if intnoParams[:intpri] < $TMIN_INTPRI 223 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 224 " configured for inhno `#{params[:inhno]}' must" \ 225 " be lower or equal to TMIN_INTPRI") 222 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 223 "configured for %%inhno must be lower or equal to TMIN_INTPRI") 226 224 end 227 225 else … … 231 229 # å ´åï¼E_OBJï¼ï¼»NGKI3066ï¼½ 232 230 if intnoParams[:intpri] >= $TMIN_INTPRI 233 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}'" \ 234 " configured for inhno `#{params[:inhno]}' must" \ 235 " be higher than with TMIN_INTPRI") 231 error_ercd("E_OBJ", params, "intpri `#{intnoParams[:intpri]}' " \ 232 "configured for %%inhno must be higher than TMIN_INTPRI") 236 233 end 237 234 end … … 246 243 # isratrãç¡å¹ã®å ´åï¼E_RSATRï¼ï¼»NGKI2998ï¼½ 247 244 #ï¼TARGET_ISRATR以å¤ã®ããããã»ããããã¦ããå ´åï¼ 248 if (params[:isratr] & ~ $TARGET_ISRATR) != 0245 if (params[:isratr] & ~($TARGET_ISRATR)) != 0 249 246 error_illegal("E_RSATR", params, "isratr") 250 247 end … … 267 264 isrParamsList = [] 268 265 $cfgData[:CRE_ISR].sort.each do |key, params| 269 if params[:intno] .val== intnoVal266 if params[:intno] == intnoVal 270 267 isrParamsList.push(params) 271 268 end … … 279 276 if $cfgData[:DEF_INH].has_key?(inhnoVal) 280 277 inhnoParams = $cfgData[:DEF_INH][inhnoVal] 281 error_ercd("E_OBJ", isrParamsList[0], \ 282 "intno `#{isrParamsList[0][:intno]}' in CRE_ISR" \ 283 " is duplicated with inhno #{inhnoParams[:inhno]}") 278 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 279 "is duplicated with inhno #{inhnoParams[:inhno]}") 284 280 end 285 281 286 282 # intnoã«å¯¾ããCFG_INTããªãå ´åï¼E_OBJï¼ï¼»NGKI3012ï¼½ 287 283 if !$cfgData[:CFG_INT].has_key?(intnoVal) 288 error_ercd("E_OBJ", isrParamsList[0], \ 289 "intno `#{isrParamsList[0][:intno]}'" \ 290 " is not configured with CFG_INT") 284 error_ercd("E_OBJ", isrParamsList[0], "%%intno in %apiname " \ 285 "is not configured with CFG_INT") 291 286 else 292 287 intnoParams = $cfgData[:CFG_INT][intnoVal] … … 297 292 if intnoParams[:intpri] < $TMIN_INTPRI 298 293 error_ercd("E_OBJ", isrParamsList[0], 299 "intpri `#{intnoParams[:intpri]}' configured for" \ 300 " intno `#{isrParamsList[0][:intno]}}' in higher" \ 301 " than TMIN_INTPRI") 294 "intpri `#{intnoParams[:intpri]}' configured for " \ 295 "%%intno with CFG_INT in higher than TMIN_INTPRI") 302 296 end 303 297 end … … 305 299 # 次ã®DEF_INHã«ç¸å½ãããã¼ã¿ãçæ 306 300 # DEF_INH(inhno, { TA_NULL, _kernel_inthdr_<intno> } ); 307 params= {308 :inhno => StrVal.new(inhnoVal.to_s,inhnoVal),309 :inhatr => $TA_NULL,310 :inthdr => StrVal.new("_kernel_inthdr_#{intnoVal}")301 $cfgData[:DEF_INH][inhnoVal] = { 302 inhno: NumStr.new(inhnoVal), 303 inhatr: NumStr.new($TA_NULL, "TA_NULL"), 304 inthdr: "_kernel_inthdr_#{intnoVal}" 311 305 } 312 $cfgData[:DEF_INH][inhnoVal] = params313 306 314 307 # å²è¾¼ã¿ãµã¼ãã¹ã«ã¼ãã³ç¨ã®å²è¾¼ã¿ãã³ãã© … … 340 333 å ±ã®çæ 341 334 # 342 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INHINIB_TABLE.nil?335 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INHINIB_TABLE 343 336 # 344 337 # å®ç¾©ããå²è¾¼ã¿ãã³ãã©ã®æ° 345 338 # 346 $kernelCfgC.a ppend(<<EOS)339 $kernelCfgC.add(<<EOS) 347 340 #define TNUM_DEF_INHNO #{$cfgData[:DEF_INH].size} 348 341 const uint_t _kernel_tnum_def_inhno = TNUM_DEF_INHNO; 349 350 342 EOS 351 343 … … 388 380 å ±ã®çæ 389 381 # 390 if $OMIT_INITIALIZE_INTERRUPT.nil? || !$USE_INTINIB_TABLE.nil?382 if !$OMIT_INITIALIZE_INTERRUPT || $USE_INTINIB_TABLE 391 383 # 392 384 # è¨å®ããå²è¾¼ã¿è¦æ±ã©ã¤ã³ã®æ° 393 385 # 394 $kernelCfgC.a ppend(<<EOS)386 $kernelCfgC.add(<<EOS) 395 387 #define TNUM_CFG_INTNO #{$cfgData[:CFG_INT].size} 396 388 const uint_t _kernel_tnum_cfg_intno = TNUM_CFG_INTNO; 397 398 389 EOS 399 390
Note:
See TracChangeset
for help on using the changeset viewer.