2 $ パス2のターゲット依存テンプレート(DVE68K/40用)
6 $ ATT_ISRで使用できる割込み番号とそれに対応する割込みハンドラ番号
8 $INTNO_ATTISR_VALID = { 1,2,...,7;9,10,...,16;17,18,...,24 }$
9 $INHNO_ATTISR_VALID = { 0x47,0x46,...,0x41;0x4f,0x4e,...,0x48;
13 $ DEF_INT/DEF_EXCで使用できる割込みハンドラ番号/CPU例外ハンドラ番号
15 $INHNO_DEFINH_VALID = { 0x10,0x11,...,0x1f;0x40,0x41,...,0xff }$
16 $EXCNO_DEFEXC_VALID = { 0x02,0x03,...,0x0f;0x20,0x21,...,0x3f }$
19 $ CFG_INTで使用できる割込み番号と割込み優先度
21 $INTNO_CFGINT_VALID = { 1,2,...,7;9,10,...,31 }$
22 $INTPRI_CFGINT_VALID = { -7,-6,...,-1 }$
27 $TARGET_INHATR = TA_NONKERNEL$
32 $CHECK_STKSZ_ALIGN = 4$
37 $INCLUDE "kernel/kernel.tf"$
40 $SPC$* Target-dependent Definitions (DVE68K/40)$NL$
45 $ CFG_INTのターゲット依存のエラーチェックと_kernel_bitpat_cfgintの生成
49 $FOREACH intno INT.ORDER_LIST$
50 $bitpat = (1 << (32 - INT.INTNO[intno]))$
51 $bitpat_cfgint = bitpat_cfgint | bitpat$
53 $IF (bitpat & DGA_INT_TRG_LEVEL) != 0$
54 $IF (INT.INTATR[intno] & TA_EDGE) != 0$
55 $ERROR INT.TEXT_LINE[intno]$E_RSATR: $FORMAT("Edge trigger (TA_EDGE) is not supported for intno `%1%\' in CFG_INT", INT.INTNO[intno])$$END$
58 $IF (bitpat & DGA_INT_TRG_EDGE) != 0$
59 $IF (INT.INTATR[intno] & TA_EDGE) == 0$
60 $ERROR INT.TEXT_LINE[intno]$E_RSATR: $FORMAT("Level trigger is not supported for intno `%1%\' in CFG_INT", INT.INTNO[intno])$$END$
65 const uint32_t _kernel_bitpat_cfgint = UINT32_C($FORMAT("0x%08x", bitpat_cfgint)$);