Changeset 382 for ssp_aarch64
- Timestamp:
- Apr 11, 2019, 3:24:12 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_aarch64/trunk/arm64_gcc/prc_config.c
r356 r382 57 57 prc_initialize(void) 58 58 { 59 60 61 62 63 64 65 66 59 /* 割込みネスト数の初期化 */ 60 intnest = 0u; 61 62 /* 63 * GICの設定 64 */ 65 gicd_initialize(); 66 gicc_initialize(); 67 67 } 68 68 … … 73 73 prc_terminate(void) 74 74 { 75 76 75 while(1) 76 ; 77 77 } 78 78 … … 83 83 x_config_int(INTNO intno, ATR intatr, PRI intpri) 84 84 { 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 85 assert(VALID_INTNO(intno)); 86 assert(TMIN_INTPRI <= intpri && intpri <= TMAX_INTPRI); 87 88 /* 89 * 割込みを禁止 90 * 91 * 割込みを受け付けたまま,レベルトリガ/エッジトリガの設定や,割 92 * 込み優先度の設定を行うのは危険なため,割込み属性にかかわらず, 93 * 一旦マスクする. 94 */ 95 x_disable_int(intno); 96 97 /* 98 * 割込みをコンフィギュレーション 99 */ 100 101 if ((intatr & TA_EDGE) != 0U) { 102 gicd_config(intno, GICD_ICFGRn_EDGE); 103 x_clear_int(intno); 104 } 105 else { 106 gicd_config(intno, GICD_ICFGRn_LEVEL); 107 } 108 109 /* 110 * 割込み優先度とターゲットプロセッサを設定 111 */ 112 gicd_set_priority(intno, INT_IPM(intpri)); 113 gicd_set_target(intno, 1U << ARM_PRC_INDEX); 114 115 /* 116 * 割込みを許可 117 */ 118 if ((intatr & TA_ENAINT) != 0U) { 119 x_enable_int(intno); 120 } 121 121 } 122 122
Note:
See TracChangeset
for help on using the changeset viewer.