[302] | 1 |
|
---|
| 2 | TOPPERSããã¸ã§ã¯ã è¨è¨ã¡ã¢
|
---|
| 3 | GICï¼ARM Generic Interrupt Controllerï¼ã«é¢ããã¡ã¢
|
---|
| 4 |
|
---|
| 5 | ä½æè
|
---|
| 6 | : é«ç°åºç« ï¼åå¤å±å¤§å¦ï¼
|
---|
| 7 | æçµæ´æ°: 2015å¹´7æ25æ¥
|
---|
| 8 |
|
---|
| 9 | âã¡ã¢ã®ä½ç½®ã¥ã
|
---|
| 10 |
|
---|
| 11 | ãã®ã¡ã¢ã¯ï¼ARM Generic Interrupt Controllerï¼GICï¼ã«é¢ãã¦ï¼TOPPERSã«ã¼
|
---|
| 12 | ãã«ããã¼ãã£ã³ã°ããã«ããã£ã¦å¿
|
---|
| 13 | è¦ã¨ãªãäºé
|
---|
| 14 | ãã¾ã¨ãããã®ã§ããï¼
|
---|
| 15 |
|
---|
| 16 | âç®æ¬¡
|
---|
| 17 |
|
---|
| 18 | ã»åèæç®
|
---|
| 19 | ã»GICã®ã¢ã¼ããã¯ãã£ä»æ§
|
---|
| 20 | ã»PrimeCell GICï¼Generic Interrupt Controllerï¼PL390
|
---|
| 21 | ã»ARM11 MPCore Distributed Interrupt Controller
|
---|
| 22 |
|
---|
| 23 | âåèæç®
|
---|
| 24 |
|
---|
| 25 | [1] ARM Generic Interrupt Controller - Architecture version 2.0
|
---|
| 26 | Architecture Specification, 2013
|
---|
| 27 | IHI0048B_b_gic_architecture_specification.pdf
|
---|
| 28 |
|
---|
| 29 | [2] PrimeCell Generic Interrupt Controller (PL390) Technical Reference Manual
|
---|
| 30 | Revision: r0p0
|
---|
| 31 | DDI0416B_gic_pl390_r0p0_trm.pdf
|
---|
| 32 |
|
---|
| 33 | [3] ARM11 MPCoreTM Processor Technical Reference Manual
|
---|
| 34 | Revision: r2p0
|
---|
| 35 | DDI0360F_arm11_mpcore_r2p0_trm.pdf
|
---|
| 36 |
|
---|
| 37 | âGICã®ã¢ã¼ããã¯ãã£ä»æ§ï¼[1]ï¼
|
---|
| 38 |
|
---|
| 39 | GICã®ã¢ã¼ããã¯ãã£ã«ãï¼GICv1ã¨GICv2ã®2ã¤ã®ãã¼ã¸ã§ã³ãããï¼ãã¼ã¸ã§
|
---|
| 40 | ã³ã«ããã¬ã¸ã¹ã¿åãç°ãªãï¼ããã§ã¯ï¼GICv2ã®ã¢ã¼ããã¯ãã£ã«ã¤ãã¦è¨è¿°
|
---|
| 41 | ããï¼ä»®æ³åæ¡å¼µã«ã¤ãã¦ã¯è¨è¿°ãçç¥ããï¼
|
---|
| 42 |
|
---|
| 43 | âç¨èªã®å®ç¾©
|
---|
| 44 |
|
---|
| 45 | å²è¾¼ã¿ç¶æ
|
---|
| 46 |
|
---|
| 47 | - Inactiveï¼Activeã§ãPendingã§ããªãç¶æ
|
---|
| 48 |
|
---|
| 49 | - Pendingï¼è¦æ±ã¯èªèããã¦ããï¼ãµã¼ãã¹ãå¾
|
---|
| 50 | ã£ã¦ããç¶æ
|
---|
| 51 |
|
---|
| 52 | - Activeï¼ããã»ããµã«ãã£ã¦åãä»ãããï¼ãµã¼ãã¹ããã¦ããç¶æ
|
---|
| 53 |
|
---|
| 54 | - Active and pendingï¼ããã»ããµããµã¼ãã¹ãã¦ãããï¼åãå²è¾¼ã¿æº
|
---|
| 55 | ããã®è¦æ±ãããã«ããå ´å
|
---|
| 56 |
|
---|
| 57 | å²è¾¼ã¿ã®ã¿ã¤ã
|
---|
| 58 | - ããªãã§ã©ã«å²è¾¼ã¿ï¼Peripheral Interruptï¼
|
---|
| 59 | + ãã©ã¤ãã¼ãããªãã§ã©ã«å²è¾¼ã¿ï¼PPI, Private Peripheral Interruptï¼
|
---|
| 60 | ï¼ç¹å®ã®ããã»ããµåãã®å²è¾¼ã¿
|
---|
| 61 | + å
|
---|
| 62 | ±æããªãã§ã©ã«å²è¾¼ã¿ï¼SPI, Shared Peripheral Interruptï¼
|
---|
| 63 | ï¼ããã»ããµãéå®ããªãå²è¾¼ã¿
|
---|
| 64 | - ã½ããã¦ã§ã¢ã§çæããå²è¾¼ã¿ï¼SGI, Software Generated Interruptï¼
|
---|
| 65 | - ä»®æ³å²è¾¼ã¿ï¼Virtual Interruptï¼â¦ ä»®æ³åæ¡å¼µã®ã¿
|
---|
| 66 | - ã¡ã³ããã³ã¹å²è¾¼ã¿ï¼Maintenance Interruptï¼â¦ ä»®æ³åæ¡å¼µã®ã¿
|
---|
| 67 |
|
---|
| 68 | å²è¾¼ã¿ãã³ããªã³ã°ã®ã¢ã㫠⦠ãã«ãããã»ããµã®å ´å
|
---|
| 69 | - 1-Nã¢ãã«ï¼ã¿ã¼ã²ããããã»ããµã®å
|
---|
| 70 | ã®1ã¤ã®ã¿ãå²è¾¼ã¿ãå¦çãã
|
---|
| 71 | - N-Nã¢ãã«ï¼ãã¹ã¦ã®ã¿ã¼ã²ããããã»ããµãå²è¾¼ã¿ãå¦çãã
|
---|
| 72 | ï¼GICã¯ï¼SGIã¯N-Nã¢ãã«ï¼ããªãã§ã©ã«å²è¾¼ã¿ã¯1-Nã¢ãã«ã§æ±ã
|
---|
| 73 |
|
---|
| 74 | âå²è¾¼ã¿ã°ã«ã¼ã
|
---|
| 75 |
|
---|
| 76 | 2ã¤ã®å²è¾¼ã¿ã°ã«ã¼ãï¼ã»ãã¥ã¢ã¢ã¼ãç¨ã®ã°ã«ã¼ã0ï¼ãã³ã»ãã¥ã¢ã¢ã¼ãç¨
|
---|
| 77 | ã®ã°ã«ã¼ã1ï¼ããµãã¼ãï¼GICv1ã§ã¯ï¼ã»ãã¥ãªãã£æ¡å¼µãããæã®ã¿ï¼å²è¾¼
|
---|
| 78 | ã¿ã°ã«ã¼ãããµãã¼ãï¼
|
---|
| 79 |
|
---|
| 80 | ã»åå²è¾¼ã¿ãã°ã«ã¼ã0ã¾ãã¯ã°ã«ã¼ã1ã«è¨å®å¯è½
|
---|
| 81 | ã»ã°ã«ã¼ã0ã¯ï¼ã¿ã¼ã²ããããã»ããµã«ï¼IRQã¾ãã¯FIQã§éç¥
|
---|
| 82 | ã»ã°ã«ã¼ã1ã¯ï¼ã¿ã¼ã²ããããã»ããµã«ï¼IRQã§éç¥
|
---|
| 83 | ã»ä¸¡ã°ã«ã¼ãã®å²è¾¼ã¿ã®åªå
|
---|
| 84 | 度ãçµ±ä¸ãã¦æ±ãã
|
---|
| 85 | ã»ã°ã«ã¼ã0ã®å²è¾¼ã¿ã®è¨å®ãããã¯ãã¦ã³ãããªãã·ã§ã³ãã
|
---|
| 86 |
|
---|
| 87 | 注æï¼åªå
|
---|
| 88 | 度ã°ã«ã¼ãã¯ï¼å²è¾¼ã¿ã°ã«ã¼ãã¨ã¯å¥ã®æ¦å¿µãªã®ã§ï¼æ··åããªããã¨ï¼
|
---|
| 89 | ãããåªå
|
---|
| 90 | 度ã°ã«ã¼ãã¯ï¼ã»ãã¥ãªãã£æ¡å¼µã¨ã¯ç¡é¢ä¿ã®æ©è½
|
---|
| 91 |
|
---|
| 92 | âãã£ã¹ããªãã¥ã¼ã¿
|
---|
| 93 |
|
---|
| 94 | ãã£ã¹ããªãã¥ã¼ã¿ã®æ©è½ï¼ã½ããã¦ã§ã¢ããè¦ãããã®ï¼
|
---|
| 95 | - å²è¾¼ã¿è¦æ±ãCPUã¤ã³ã¿ãã§ã¼ã¹ã«éã
|
---|
| 96 | - åå²è¾¼ã¿ã®ç¦æ¢ï¼è¨±å¯
|
---|
| 97 | - åå²è¾¼ã¿ã®åªå
|
---|
| 98 | 度ã¬ãã«ã®è¨å®
|
---|
| 99 | - åå²è¾¼ã¿ã®ã¿ã¼ã²ããããã»ããµãªã¹ãã®è¨å®
|
---|
| 100 | - åããªãã§ã©ã«å²è¾¼ã¿ã®ã¬ãã«ããªã¬ï¼ã¨ãã¸ããªã¬ã®è¨å®
|
---|
| 101 | â»ã¬ãã«ããªã¬ã¯ï¼level-sensitiveã¨æ¸ããã¦ãã
|
---|
| 102 | - åå²è¾¼ã¿ã®ã°ã«ã¼ã0ï¼ã°ã«ã¼ã1ã®è¨å®
|
---|
| 103 | - SGIã1ã¤ã¾ãã¯è¤æ°ã®ã¿ã¼ã²ããããã»ããµã«éã
|
---|
| 104 | - åå²è¾¼ã¿ã®ç¶æ
|
---|
| 105 | ã®åç
|
---|
| 106 | §
|
---|
| 107 | - ããªãã§ã©ã«å²è¾¼ã¿ã®ãã³ãã£ã³ã°ç¶æ
|
---|
| 108 | ã®ã½ããã¦ã§ã¢ããã®æä½
|
---|
| 109 |
|
---|
| 110 | å²è¾¼ã¿ID
|
---|
| 111 | - æ大ã§1020ã®å²è¾¼ã¿IDï¼ãã³ã¯ã使ãã¨ããã«å¤ãã®å²è¾¼ã¿ãæ±ãã
|
---|
| 112 | - å²è¾¼ã¿IDã®æ§æ
|
---|
| 113 | 0ã15ï¼SGI ⦠CPUã¤ã³ã¿ãã§ã¼ã¹æ¯
|
---|
| 114 | 0ã7ï¼ãã³ã»ãã¥ã¢ç¨ã«ä½¿ããã¨ãå¼·ãæ¨å¥¨
|
---|
| 115 | 8ã15ï¼ã»ãã¥ã¢ç¨ã«ä½¿ããã¨ãå¼·ãæ¨å¥¨
|
---|
| 116 | 16ã31ï¼PPI ⦠CPUã¤ã³ã¿ãã§ã¼ã¹æ¯
|
---|
| 117 | 32ã1019ï¼SPI
|
---|
| 118 | 1020ã1023ï¼ç¹æ®ç®çã«äºç´
|
---|
| 119 | 1020ã1021ï¼äºç´
|
---|
| 120 | 1022ï¼å²è¾¼ã¿ã°ã«ã¼ãã«ä¼´ãã¹ããªã¢ã¹å²è¾¼ã¿ï¼è©³ç´°çç¥ï¼
|
---|
| 121 | 1023ï¼ã¹ããªã¢ã¹å²è¾¼ã¿
|
---|
| 122 |
|
---|
| 123 | âCPUã¤ã³ã¿ãã§ã¼ã¹
|
---|
| 124 |
|
---|
| 125 | CPUã¤ã³ã¿ãã§ã¼ã¹ã®æ©è½ï¼ã½ããã¦ã§ã¢ããè¦ãããã®ï¼
|
---|
| 126 | - ããã»ããµã¸ã®å²è¾¼ã¿è¦æ±ä¿¡å·ã®è¨±å¯
|
---|
| 127 | - å²è¾¼ã¿ã®åä»ãï¼acknowledgingï¼
|
---|
| 128 | - å²è¾¼ã¿å¦çå®äºã®éç¥
|
---|
| 129 | - å²è¾¼ã¿åªå
|
---|
| 130 | 度ãã¹ã¯ã®è¨å®
|
---|
| 131 | - ããªã¨ã³ãã·ã§ã³ããªã·ã¼ã®è¨å®
|
---|
| 132 | - ãã³ãã£ã³ã°ãã¦ããæé«åªå
|
---|
| 133 | 度å²è¾¼ã¿ã®åå¾
|
---|
| 134 |
|
---|
| 135 | å²è¾¼ã¿ã®åä»ã
|
---|
| 136 | - ããã»ããµãå²è¾¼ã¿ã¢ã¯ãã¼ã¬ãã¸ã¬ã¸ã¹ã¿ï¼IARï¼ãèªããã¨ã§ï¼å²è¾¼
|
---|
| 137 | ã¿ãåãä»ãããã
|
---|
| 138 | - IARããã¯ï¼å²è¾¼ã¿IDãè¿ãï¼ã¹ããªã¢ã¹å²è¾¼ã¿ã®IDã§ããå ´åãï¼
|
---|
| 139 | - å²è¾¼ã¿ç¶æ
|
---|
| 140 | ã¯ï¼pendingããactiveï¼ã¾ãã¯active and pendingï¼ã«é·ç§»
|
---|
| 141 |
|
---|
| 142 | å²è¾¼ã¿ã®å®äº
|
---|
| 143 | - ããã»ããµãå²è¾¼ã¿å®äºã¬ã¸ã¹ã¿ï¼GICC_EOIRï¼ã«æ¸ããã¨ã§ï¼å²è¾¼ã®å®
|
---|
| 144 | äºãéç¥ããã
|
---|
| 145 | - GICã¯æ¬¡ã®2ã¤ã®å¦çãå®è¡ãã
|
---|
| 146 | + åªå
|
---|
| 147 | 度ãã¹ã¯ãä¸ãã
|
---|
| 148 | + å²è¾¼ã¿ãdeactivateããï¼activeããä»ã®ç¶æ
|
---|
| 149 | ã«é·ç§»ãããï¼
|
---|
| 150 | - GICv2ã§ã¯ï¼è¨å®ã«ããï¼GICC_EOIRã¸ã®æ¸ãè¾¼ã¿ã§ã¯1ã¤ãã®ã¹ãããã®
|
---|
| 151 | ã¿è¡ãï¼å¥ã®ã¬ã¸ã¹ã¿ï¼GICC_DIRï¼ã¸ã®æ¸ãè¾¼ã¿ã§2ã¤ãã®ã¹ããããå®
|
---|
| 152 | è¡ããããã¨ãã§ãã
|
---|
| 153 |
|
---|
| 154 | å²è¾¼ã¿ä¿¡å·ãã¤ãã¹ã¨ãã¤ãã¹ç¦æ¢ ï¼è©³ç´°çç¥ï¼
|
---|
| 155 | - ã¬ã¬ã·ã¼å²è¾¼ã¿ãæ±ãããã«ï¼å²è¾¼ã¿è¦æ±ããã¤ãã¹ããæ©è½ããã
|
---|
| 156 | - GICv2ã§ã¯ï¼ãã¤ãã¹ãç¦æ¢ããæ©è½ããã
|
---|
| 157 |
|
---|
| 158 | âå²è¾¼ã¿ã®ãã³ããªã³ã°ï¼ã»ãã¥ãªãã£æ¡å¼µããªãå ´åï¼
|
---|
| 159 |
|
---|
| 160 | ã»å²è¾¼ã¿ãã³ããªã³ã°ç¶æ
|
---|
| 161 | ãã·ã³ã§ï¼4ã¤ã®å²è¾¼ã¿ç¶æ
|
---|
| 162 | ã®éã®é·ç§»ãå®ç¾©
|
---|
| 163 |
|
---|
| 164 | ã»GICã®å²è¾¼ã¿ãã³ããªã³ã°ã·ã¼ã±ã³ã¹
|
---|
| 165 | 1. å²è¾¼ã¿ãã¤ãã¼ãã«ããã¦ãããã©ãããå¤å®
|
---|
| 166 | 2. ãã³ãã£ã³ã°ãã¦ããå²è¾¼ã¿ã«å¯¾ãã¦ï¼ã¿ã¼ã²ããããã»ããµã決å®
|
---|
| 167 | 3. ãã£ã¹ããªãã¥ã¼ã¿ã¯ï¼åããã»ããµã«å¯¾ãã¦ï¼ãã³ãã£ã³ã°ãã¦ãã
|
---|
| 168 | æé«åªå
|
---|
| 169 | 度å²è¾¼ã¿ã決å®ãï¼CPUã¤ã³ã¿ãã§ã¼ã¹ã«éã
|
---|
| 170 | 4. CPUã¤ã³ã¿ãã§ã¼ã¹ã¯ï¼ãã£ã¹ããªãã¥ã¼ã¿ããéããã¦ããå²è¾¼ã¿ã
|
---|
| 171 | ååã«é«ãåªå
|
---|
| 172 | 度ã決å®ãï¼ååã«é«ããã°ï¼ããã»ããµã«éã
|
---|
| 173 | 5. ããã»ããµãå²è¾¼ã¿ãåãä»ããã¨ï¼GICã¯å²è¾¼ã¿IDãè¿ãï¼å²è¾¼ã¿ç¶æ
|
---|
| 174 |
|
---|
| 175 | ãæ´æ°ãã
|
---|
| 176 | 6. å²è¾¼ã¿ã®å¦çãçµããã¨ï¼ããã»ããµã¯å²è¾¼ã¿å®äºãGICã«éç¥ãã
|
---|
| 177 |
|
---|
| 178 | âå²è¾¼ã¿ã®åªå
|
---|
| 179 | 度ä»ãï¼å²è¾¼ã¿ã°ã«ã¼ãã¨ã»ãã¥ãªãã£æ¡å¼µããªãå ´åï¼
|
---|
| 180 |
|
---|
| 181 | ã»GICããµãã¼ãããå²è¾¼ã¿åªå
|
---|
| 182 | 度ã®æ°ã¯ï¼16ã256
|
---|
| 183 | ã»å²è¾¼ã¿åªå
|
---|
| 184 | 度ã¯ï¼8ãããã®ç¬¦å·ç¡ãæ´æ°ã§è¡¨ã
|
---|
| 185 | å¤ãå°ããæ¹ãåªå
|
---|
| 186 | 度ãé«ã
|
---|
| 187 | åªå
|
---|
| 188 | 度ã®æ°ã256ããå°ãªãã¨ãã¯ï¼ä¸ä½ããããã使ç¨ãã
|
---|
| 189 | 使ããªãä¸ä½ãããã¯RAZ/WI
|
---|
| 190 | ã»åå²è¾¼ã¿ã®åªå
|
---|
| 191 | 度ãåå¥ã«è¨å®ã§ãã
|
---|
| 192 | å®è£
|
---|
| 193 | ã«ãã£ã¦ï¼ç¹å®ã®å²è¾¼ã¿ã®åªå
|
---|
| 194 | 度ãåºå®ãã¦ããã
|
---|
| 195 | ã»åãåªå
|
---|
| 196 | 度ã®å²è¾¼ã¿ã®ä¸ã§ã©ããåãä»ãããã¯å®è£
|
---|
| 197 | ä¾å
|
---|
| 198 |
|
---|
| 199 | ã»å²è¾¼ã¿ã®ããªã¨ã³ãã·ã§ã³ã¯æ¬¡ã®2ã¤ã®æ¡ä»¶ãæã£ãæã«èµ·ãã
|
---|
| 200 | - å²è¾¼ã¿ã®åªå
|
---|
| 201 | 度ãï¼å²è¾¼ã¿åªå
|
---|
| 202 | 度ãã¹ã¯ãããé«ã
|
---|
| 203 | - å²è¾¼ã¿ã®ã°ã«ã¼ãåªå
|
---|
| 204 | 度ãï¼å®è¡ä¸åªå
|
---|
| 205 | 度ã®ã°ã«ã¼ãåªå
|
---|
| 206 | 度ãããé«ã
|
---|
| 207 |
|
---|
| 208 | ã»å²è¾¼ã¿åªå
|
---|
| 209 | 度ãã¹ã¯ï¼GICC_PMRï¼
|
---|
| 210 | - CPUã¤ã³ã¿ãã§ã¼ã¹ã®GICC_PMRãããé«ãå²è¾¼ã¿ã®ã¿ãåãä»ãã
|
---|
| 211 | + ãã®å¤å®ã«ï¼åªå
|
---|
| 212 | 度ã®ã°ã«ã¼ãã¯å½±é¿ããªã
|
---|
| 213 | - å²è¾¼ã¿ã«æä½åªå
|
---|
| 214 | 度ï¼å¤ã¨ãã¦ã¯æ大ï¼ãå²ãä»ããã¨ï¼ãã®å²è¾¼ã¿ã¯
|
---|
| 215 | åãä»ããããªã
|
---|
| 216 |
|
---|
| 217 | ã»åªå
|
---|
| 218 | 度ã°ã«ã¼ãã³ã°
|
---|
| 219 | - ãã¤ããªãã¤ã³ãã¬ã¸ã¹ã¿(GICC_BPRï¼ã®è¨å®ã«ããï¼å²è¾¼ã¿åªå
|
---|
| 220 | 度ãï¼
|
---|
| 221 | ã°ã«ã¼ãåªå
|
---|
| 222 | 度ã¨ãµãåªå
|
---|
| 223 | 度ã«åãããã¨ãã§ãã
|
---|
| 224 | - ããªã¨ã³ãã·ã§ã³ã«ããã¦ã¯ï¼åãã°ã«ã¼ãã®åªå
|
---|
| 225 | 度ã¯ï¼åãåªå
|
---|
| 226 | 度ã¨
|
---|
| 227 | è¦ãªãããï¼ã¤ã¾ãï¼åãã°ã«ã¼ãå
|
---|
| 228 | ã§ã¯ããªã¨ã³ãã·ã§ã³ã¯èµ·ããªãï¼
|
---|
| 229 |
|
---|
| 230 | ãï¼å²è¾¼ã¿åªå
|
---|
| 231 | 度ã8ãããã®æã¯ï¼ãã¹ã¦ã§ããªã¨ã³ãã·ã§ã³ãèµ·ããè¨å®ã¯
|
---|
| 232 | ã§ããªã
|
---|
| 233 |
|
---|
| 234 | âå²è¾¼ã¿ã°ã«ã¼ãã¨å²è¾¼ã¿ã®ãã³ããªã³ã°ï¼ã»ãã¥ãªãã£æ¡å¼µï¼
|
---|
| 235 |
|
---|
| 236 | âå²è¾¼ã¿ã°ã«ã¼ãã¨å²è¾¼ã¿ã®åªå
|
---|
| 237 | 度ä»ãï¼ã»ãã¥ãªãã£æ¡å¼µï¼
|
---|
| 238 |
|
---|
| 239 | ã»æ¬¡ã®ãã¨ãå¼·ãæ¨å¥¨ãã
|
---|
| 240 | - ã°ã«ã¼ã0ã«ã¯ï¼ååããé«ãåªå
|
---|
| 241 | 度ï¼æä¸ä½ãããã0ï¼ãå²ãå½ã¦ã
|
---|
| 242 | - ã°ã«ã¼ã1ã«ã¯ï¼ååããä½ãåªå
|
---|
| 243 | 度ï¼æä¸ä½ãããã1ï¼ãå²ãå½ã¦ã
|
---|
| 244 |
|
---|
| 245 | ã»ãã³ã»ãã¥ã¢ã¢ã¼ãããè¦ããå²è¾¼ã¿åªå
|
---|
| 246 | 度
|
---|
| 247 | - ãã³ã»ãã¥ã¢ã¢ã¼ãããã¯ï¼ã°ã«ã¼ã1ã®å²è¾¼ã¿ã®ã¿ãæ±ãã
|
---|
| 248 | - æ¸ãè¾¼ã¿æã«ã¯ï¼1ãããå³ã«ã·ããããï¼æä¸ä½ãããã1ã«ãªã
|
---|
| 249 | - èªã¿åºãæã«ã¯ï¼1ãããå·¦ã«ã·ãããããï¼æä¸ä½ãããã¯ãªããªãï¼
|
---|
| 250 |
|
---|
| 251 | ã»åã°ã«ã¼ãã®å²è¾¼ã¿ã®ããªã¨ã³ãã·ã§ã³ã®å¶å¾¡
|
---|
| 252 | - GICC_BPRã«ã¯ï¼ã»ãã¥ã¢ã³ãã¼ã¨ãã³ã»ãã¥ã¢ã³ãã¼ããã
|
---|
| 253 | + ã»ãã¥ã¢ã¢ã¼ãããã¢ã¯ã»ã¹ããã¨ï¼ã»ãã¥ã¢ã³ãã¼ã«ã¢ã¯ã»ã¹
|
---|
| 254 | + ãã³ã»ãã¥ã¢ã¢ã¼ãããã¢ã¯ã»ã¹ããã¨ï¼ãã³ã»ãã¥ã¢ã³ãã¼ã«ã¢ã¯ã»ã¹
|
---|
| 255 | - ã°ã«ã¼ã0ã¯ï¼GICC_BPRã®ã»ãã¥ã¢ã³ãã¼ã§å¶å¾¡ããã
|
---|
| 256 | - ã°ã«ã¼ã1ã¯ï¼
|
---|
| 257 | GICC_CTLR.CBPRã0ã®æï¼GICC_BPRã®ãã³ã»ãã¥ã¢ã³ãã¼ã§å¶å¾¡ããã
|
---|
| 258 | GICC_CTLR.CBPRã1ã®æï¼GICC_BPRã®ã»ãã¥ã¢ã³ãã¼ã§å¶å¾¡ããã
|
---|
| 259 | - GICC_ABPRã¯ï¼ã»ãã¥ã¢ã¢ã¼ãããï¼GICC_BPRã®ãã³ã»ãã¥ã¢ã³ãã¼ã«ã¢
|
---|
| 260 | ã¯ã»ã¹ããããã®ã¬ã¸ã¹ã¿
|
---|
| 261 |
|
---|
| 262 | ã»GICC_BPRã®ãã³ã»ãã¥ã¢ã³ãã¼ã®è¨å®
|
---|
| 263 | - GICC_CTLR.CBPRã0ã®æï¼ã°ã«ã¼ã1ã®ããªã¨ã³ãã·ã§ã³ã«ã¯ï¼GICC_BPRã®
|
---|
| 264 | ãã³ã»ãã¥ã¢ã³ãã¼ããã1å¼ããå¤ãã使ããã
|
---|
| 265 | - GICC_BPRã®ãã³ã»ãã¥ã¢ã³ãã¼ã«ï¼0ã¯è¨å®ã§ããªã
|
---|
| 266 |
|
---|
| 267 | âããã°ã©ãã³ã°ã¢ãã«ï¼Programmers' Modelï¼
|
---|
| 268 |
|
---|
| 269 | ã¬ã¸ã¹ã¿åã®ã³ã³ãã³ã·ã§ã³
|
---|
| 270 | GICD_xxxx ⦠ãã£ã¹ããªãã¥ã¼ã¿ã®ã¬ã¸ã¹ã¿
|
---|
| 271 | GICC_xxxx ⦠CPUã¤ã³ã¿ãã§ã¼ã¹ã®ã¬ã¸ã¹ã¿
|
---|
| 272 | GICH_xxxx ⦠仮æ³ã¤ã³ã¿ãã§ã¼ã¹å¶å¾¡ã¬ã¸ã¹ã¿ï¼ãã¤ããã¤ã¶ã使ãï¼
|
---|
| 273 | GICV_xxxx ⦠仮æ³CPUã¤ã³ã¿ãã§ã¼ã¹ã®ã¬ã¸ã¹ã¿
|
---|
| 274 |
|
---|
| 275 | ã¬ã¸ã¹ã¿ã«é¢ããåå
|
---|
| 276 | ã»ãã¹ã¦ã®ã¬ã¸ã¹ã¿ã¯32ãããå¹
|
---|
| 277 |
|
---|
| 278 | ã»äºç´ã¯ãã¹ã¦RAZ/WI
|
---|
| 279 |
|
---|
| 280 | âãã£ã¹ããªãã¥ã¼ã¿ã®ããã°ã©ãã³ã°ã¢ãã«
|
---|
| 281 |
|
---|
| 282 | ãã£ã¹ããªãã¥ã¼ã¿å¶å¾¡ã¬ã¸ã¹ã¿ï¼GICD_CTLRï¼0x000
|
---|
| 283 | [31:2] äºç´
|
---|
| 284 | [1] EnableGrp1 ⦠ã»ãã¥ãªãã£æ¡å¼µã®å ´åã®ã¿
|
---|
| 285 | 0ï¼ã°ã«ã¼ã1ã®å²è¾¼ã¿ããã©ã¯ã¼ãããªã
|
---|
| 286 | 1ï¼ã°ã«ã¼ã1ã®å²è¾¼ã¿ããã©ã¯ã¼ããã
|
---|
| 287 | [0] Enable ⦠ã»ãã¥ãªãã£æ¡å¼µãªãï¼EnableGrp0 ⦠ã»ãã¥ãªãã£æ¡å¼µ
|
---|
| 288 | 0ï¼ï¼ã°ã«ã¼ã0ã®ï¼å²è¾¼ã¿ããã©ã¯ã¼ãããªã
|
---|
| 289 | 1ï¼ï¼ã°ã«ã¼ã0ã®ï¼å²è¾¼ã¿ããã©ã¯ã¼ããã
|
---|
| 290 |
|
---|
| 291 | å²è¾¼ã¿ã³ã³ããã¼ã©ã¿ã¤ãã¬ã¸ã¹ã¿ï¼GICD_TYPERï¼0x004ï¼RO
|
---|
| 292 |
|
---|
| 293 | ãã£ã¹ããªãã¥ã¼ã¿å®è£
|
---|
| 294 | IDã¬ã¸ã¹ã¿ï¼GICD_IIDRï¼0x008ï¼RO
|
---|
| 295 |
|
---|
| 296 | å²è¾¼ã¿ã°ã«ã¼ãã¬ã¸ã¹ã¿ï¼GICD_IGROUPRnï¼0x080 ⦠ã»ãã¥ãªãã£æ¡å¼µ
|
---|
| 297 |
|
---|
| 298 | å²è¾¼ã¿ã¤ãã¼ãã«ã»ããã¬ã¸ã¹ã¿ï¼GICD_ISENABLERnï¼0x100ã0x17c
|
---|
| 299 | å²è¾¼ã¿ã¤ãã¼ãã«ã¯ãªã¢ã¬ã¸ã¹ã¿ï¼GICD_ICENABLERnï¼0x180ã0x1fc
|
---|
| 300 | - åå²è¾¼ã¿ãã¤ãã¼ãã«ãããã©ãããå¶å¾¡ããã¬ã¸ã¹ã¿
|
---|
| 301 | - ã»ããã¬ã¸ã¹ã¿ã®å¯¾å¿ãããããã«1ãæ¸ãã¨ã¤ãã¼ãã«
|
---|
| 302 | - ã¯ãªã¢ã¬ã¸ã¹ã¿ã®å¯¾å¿ãããããã«1ãæ¸ãã¨ãã£ã¹ã¨ã¼ãã«
|
---|
| 303 | - ã©ã¡ãã®ã¬ã¸ã¹ã¿ãèªãã§ãï¼ã¤ãã¼ãã«ããã¦ããå²è¾¼ã¿ã«å¯¾ãã¦1ãè¿ã
|
---|
| 304 |
|
---|
| 305 | å²è¾¼ã¿ãã³ãã£ã³ã°ã»ããã¬ã¸ã¹ã¿ï¼GICD_ISPENDRnï¼0x200ã0x27c
|
---|
| 306 | å²è¾¼ã¿ãã³ãã£ã³ã°ã¯ãªã¢ã¬ã¸ã¹ã¿ï¼GICD_ICPENDRnï¼0x280ã0x2fc
|
---|
| 307 | - åå²è¾¼ã¿ããã³ãã£ã³ã°ç¶æ
|
---|
| 308 | ãã©ãããå¶å¾¡ããã¬ã¸ã¹ã¿
|
---|
| 309 | - SGIã¯ï¼ãã®ã¬ã¸ã¹ã¿ã§ã»ããï¼ã¯ãªã¢ã§ããªãï¼å¥ã®ã¬ã¸ã¹ã¿ã使ãï¼
|
---|
| 310 | - ã»ããã¬ã¸ã¹ã¿ã®å¯¾å¿ãããããã«1ãæ¸ãã¨ãã³ãã£ã³ã°ç¶æ
|
---|
| 311 | ã«
|
---|
| 312 | + ã¢ã¯ãã£ãç¶æ
|
---|
| 313 | ã®å ´åã¯ï¼"active and pending"ã«
|
---|
| 314 | - ã¯ãªã¢ã¬ã¸ã¹ã¿ã®å¯¾å¿ãããããã«1ãæ¸ãã¨ãã³ãã£ã³ã°ç¶æ
|
---|
| 315 | ã解é¤
|
---|
| 316 | + "active and pending"ã®å ´åã¯ï¼ã¢ã¯ãã£ãç¶æ
|
---|
| 317 | ã«
|
---|
| 318 | - ã¬ãã«ããªã¬ã®å ´åã§ãï¼ãã®ã¬ã¸ã¹ã¿ã§è¦æ±ããå²è¾¼ã¿ã¯ã¨ãã¸ããªã¬ã®
|
---|
| 319 | ããã«æ¯ãèãï¼ãã®ã¬ã¸ã¹ã¿ã§è¦æ±ããå²è¾¼ã¿ãè¨æ¶ããFFãããï¼
|
---|
| 320 | - ã©ã¡ãã®ã¬ã¸ã¹ã¿ãèªãã§ãï¼ãã³ãã£ã³ã°ããã¦ããå²è¾¼ã¿ã«å¯¾ãã¦1ãè¿ã
|
---|
| 321 | ãã«ãããã»ããµã®SGIã¨PPIã«é¢ãã¦ã¯ï¼èªããã»ããµã«å¯¾ãã¦
|
---|
| 322 | ãã³ãã£ã³ã°ããã¦ãããã©ãããè¿ã
|
---|
| 323 |
|
---|
| 324 | å²è¾¼ã¿ã¢ã¯ãã£ãã»ããã¬ã¸ã¹ã¿ï¼GICD_ISACTIVERnï¼0x300ã0x37c
|
---|
| 325 | ⦠GICv1ã§ã¯å²è¾¼ã¿ã¢ã¯ãã£ããããã¬ã¸ã¹ã¿ã§RO
|
---|
| 326 | å²è¾¼ã¿ã¢ã¯ãã£ãã¯ãªã¢ã¬ã¸ã¹ã¿ï¼GICD_ICACTIVERnï¼0x380ã0x3fc
|
---|
| 327 |
|
---|
| 328 | å²è¾¼ã¿åªå
|
---|
| 329 | 度ã¬ã¸ã¹ã¿ï¼GICD_IPRIORITYRnï¼0x400ã0x7f8
|
---|
| 330 | - åå²è¾¼ã¿ã®åªå
|
---|
| 331 | 度ã8ãããã§è¨å®
|
---|
| 332 | ï¼ãã¤ãåä½ã§ã¢ã¯ã»ã¹å¯è½
|
---|
| 333 |
|
---|
| 334 | å²è¾¼ã¿ã¿ã¼ã²ããã¬ã¸ã¹ã¿ï¼GICD_ITARGETSRnï¼0x800ã0xbf8 ⦠ãã«ãã³ã¢ã®ã¿
|
---|
| 335 | ⦠æåã®32åï¼ã¿ã¼ã²ããåºå®ï¼ã¯RO
|
---|
| 336 | - åå²è¾¼ã¿ã®ã¿ã¼ã²ããããã»ããµã®ãªã¹ãã8ãããã®ããããããã§è¨å®
|
---|
| 337 | ï¼ãã¤ãåä½ã§ã¢ã¯ã»ã¹å¯è½
|
---|
| 338 |
|
---|
| 339 | å²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¬ã¸ã¹ã¿ï¼GICD_ICFGRnï¼0xc00ã0xcfc
|
---|
| 340 | - åå²è¾¼ã¿ã®ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã2ãããã§è¨å®
|
---|
| 341 | - ã¬ãã«ããªã¬ãã¨ãã¸ããªã¬ããè¨å®
|
---|
| 342 | - GICv1ããåã®ä¸é¨ã®å®è£
|
---|
| 343 | ã§ã¯ï¼N-Nã¢ãã«ã1-Nã¢ãã«ããããã§è¨å®
|
---|
| 344 | 0ï¼N-Nã¢ãã«
|
---|
| 345 | 1ï¼1-Nã¢ãã«
|
---|
| 346 |
|
---|
| 347 | å²è¾¼ã¿ãã³ã»ãã¥ã¢ã¢ã¯ã»ã¹å¶å¾¡ã¬ã¸ã¹ã¿ï¼GICD_NSCARnï¼0xe00ã0xefc ⦠ãªãã·ã§ã³
|
---|
| 348 |
|
---|
| 349 | SGIã¬ã¸ã¹ã¿ï¼GICD_SGIRï¼0xf00ï¼WO
|
---|
| 350 | - SGIãçºçãããã¬ã¸ã¹ã¿
|
---|
| 351 |
|
---|
| 352 | SGIãã³ãã£ã³ã°ã¯ãªã¢ã¬ã¸ã¹ã¿ï¼GICD_CPENDSGIRnï¼0xf10ã0xf1c
|
---|
| 353 | SGIãã³ãã£ã³ã°ã»ããã¬ã¸ã¹ã¿ï¼GICD_SPENDSGIRnï¼0xf20ã0xf2c
|
---|
| 354 | - SIGããã³ãã£ã³ã°ç¶æ
|
---|
| 355 | ãã©ãããå¶å¾¡ããã¬ã¸ã¹ã¿
|
---|
| 356 |
|
---|
| 357 | ä»ã«ï¼å®è£
|
---|
| 358 | å®ç¾©ã¬ã¸ã¹ã¿ããã
|
---|
| 359 |
|
---|
| 360 | âCPUã¤ã³ã¿ãã§ã¼ã¹ã®ããã°ã©ãã³ã°ã¢ãã«
|
---|
| 361 |
|
---|
| 362 | CPUã¤ã³ã¿ãã§ã¼ã¹å¶å¾¡ã¬ã¸ã¹ã¿ï¼GICC_CTLRï¼0x000
|
---|
| 363 |
|
---|
| 364 | å²è¾¼ã¿åªå
|
---|
| 365 | 度ãã¹ã¯ã¬ã¸ã¹ã¿ï¼GICC_PMRï¼0x004
|
---|
| 366 |
|
---|
| 367 | ãã¤ããªãã¤ã³ãã¬ã¸ã¹ã¿ï¼GICC_BPRï¼0x008
|
---|
| 368 | - å²è¾¼ã¿åªå
|
---|
| 369 | 度ãï¼ã°ã«ã¼ãåªå
|
---|
| 370 | 度ã¨ãµãåªå
|
---|
| 371 | 度ã«åããä½ç½®ãè¨å®
|
---|
| 372 | [31:3] äºç´
|
---|
| 373 | [2:0] åå²ä½ç½®ï¼gãã°ã«ã¼ãåªå
|
---|
| 374 | 度ï¼sããµãåªå
|
---|
| 375 | 度ï¼
|
---|
| 376 | 0ï¼ä¸ä½7ããããã°ã«ã¼ãåªå
|
---|
| 377 | 度 ggggggg.s
|
---|
| 378 | 1ï¼ä¸ä½6ããããã°ã«ã¼ãåªå
|
---|
| 379 | 度 gggggg.ss
|
---|
| 380 | 6ï¼åä¸ä½ããããã°ã«ã¼ãåªå
|
---|
| 381 | 度 g.sssssss
|
---|
| 382 | 7ï¼ããªã¨ã³ãã·ã§ã³ããªã ssssssss
|
---|
| 383 | ï¼åªå
|
---|
| 384 | 度ã8ãããã®æã¯ï¼å
|
---|
| 385 | ¨ããããã°ã«ã¼ãåªå
|
---|
| 386 | 度ã«ãããã¨ã¯ã§ããªã
|
---|
| 387 |
|
---|
| 388 | å²è¾¼ã¿ã¢ã¯ãã¼ã¬ãã¸ã¬ã¸ã¹ã¿ï¼GICC_IARï¼0x00cï¼RO
|
---|
| 389 |
|
---|
| 390 | å²è¾¼ã¿å®äºã¬ã¸ã¹ã¿ï¼GICC_EOIRï¼0x010ï¼WO
|
---|
| 391 |
|
---|
| 392 | å®è¡ä¸åªå
|
---|
| 393 | 度ã¬ã¸ã¹ã¿ï¼GICC_RPRï¼0x014ï¼RO
|
---|
| 394 |
|
---|
| 395 | æé«åªå
|
---|
| 396 | 度ãã³ãã£ã³ã°å²è¾¼ã¿ã¬ã¸ã¹ã¿ï¼GICC_HPPIRï¼0x018ï¼RO
|
---|
| 397 |
|
---|
| 398 | ï¼çç¥ï¼ã»ãã¥ãªãã£æ¡å¼µã®ããã®ã¬ã¸ã¹ã¿ï¼
|
---|
| 399 |
|
---|
| 400 | CPUã¤ã³ã¿ãã§ã¼ã¹IDã¬ã¸ã¹ã¿ï¼GICC_IIDRï¼0x00fcï¼RO
|
---|
| 401 |
|
---|
| 402 | å²è¾¼ã¿ãã£ã¢ã¯ãã£ãã¼ãã¬ã¸ã¹ã¿ï¼GICC_DIRï¼0x1000ï¼WO ⦠GICv2ã®ã¿
|
---|
| 403 |
|
---|
| 404 | âPrimeCell GICï¼Generic Interrupt Controllerï¼PL390ï¼[2]ï¼
|
---|
| 405 |
|
---|
| 406 | ãã®GICã¯ï¼ãARM Generic Interrupt Controller Architectureãï¼æè¨ãã¦
|
---|
| 407 | ããªããï¼GICv1ã¨æãããï¼ã«æºæ
|
---|
| 408 |
|
---|
| 409 | ããã§è¨ããã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãã¨ã¯ï¼ãã¼ãã¦ã§ã¢IPã®ã³ã³ãã£ã®ã¥
|
---|
| 410 | ã¬ã¼ã·ã§ã³ã®ãã¨
|
---|
| 411 |
|
---|
| 412 | âGICã®æ§æ
|
---|
| 413 |
|
---|
| 414 | - ãã£ã¹ããªãã¥ã¼ã¿ ⦠1ã¤ã ã
|
---|
| 415 | + å¤é¨ããã®å²è¾¼ã¿ãåãåãï¼æé«åªå
|
---|
| 416 | 度ã®ãã®ãCPUã¤ã³ã¿ãã§ã¼ã¹ã«éã
|
---|
| 417 | - CPUã¤ã³ã¿ãã§ã¼ã¹ ⦠ããã»ããµæ¯ã«
|
---|
| 418 | - ãã®ä»ã®ãããã¯
|
---|
| 419 | + AMBAã¹ã¬ã¼ãã¤ã³ã¿ãã§ã¼ã¹
|
---|
| 420 | + ã¯ããã¯ã¨ãªã»ãã
|
---|
| 421 | + enableã¨matchä¿¡å·
|
---|
| 422 | ï¼å¶å¾¡ã¬ã¸ã¹ã¿ãæä½ã§ããããã»ããµãéå®ããæ©è½
|
---|
| 423 |
|
---|
| 424 | âGICã®æ©è½
|
---|
| 425 |
|
---|
| 426 | ã»3ã¿ã¤ãã®å²è¾¼ã¿ï¼SIGï¼PPIï¼SPIï¼ããµãã¼ã
|
---|
| 427 | â»ãã®ä»ã«ã¬ã¬ã·ã¼å²è¾¼ã¿ï¼legacy interruptï¼ããã
|
---|
| 428 |
|
---|
| 429 | ã»å²è¾¼ã¿ã次ã®ããã«ããã°ã©ã å¯è½
|
---|
| 430 | - ã»ãã¥ãªãã£ç¶æ
|
---|
| 431 |
|
---|
| 432 | - å²è¾¼ã¿ã¬ãã«
|
---|
| 433 | - å²è¾¼ã¿ã®ç¦æ¢/許å¯
|
---|
| 434 | - å²è¾¼ã¿ãåãåãããã»ããµ
|
---|
| 435 |
|
---|
| 436 | ã»ã»ãã¥ãªãã£æ¡å¼µã«å¯¾å¿å¯è½
|
---|
| 437 |
|
---|
| 438 | âã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ãªãã·ã§ã³ ï¼é¢ä¿ããããªé
|
---|
| 439 | ç®ã®ã¿ï¼
|
---|
| 440 |
|
---|
| 441 | - ã»ãã¥ãªãã£æ¡å¼µã®ãµãã¼ãã®æç¡
|
---|
| 442 | - CPUã¤ã³ã¿ãã§ã¼ã¹ã®æ°
|
---|
| 443 | - ããã¯å¯è½ãªSPIï¼è¦èª¿æ»ï¼ã®æ°
|
---|
| 444 | - PPIé¢é£
|
---|
| 445 | + CPUã¤ã³ã¿ãã§ã¼ã¹æ¯ã®æ°ï¼0ã16ï¼
|
---|
| 446 | + ã¬ãã«ããªã¬ãã¨ãã¸ããªã¬ã
|
---|
| 447 | + ç´ éããç»é²ãåæã
|
---|
| 448 | - ããã»ããµæ¯ã®SGIã®æ°ï¼0ã16ï¼
|
---|
| 449 | - SPIé¢é£
|
---|
| 450 | + æ°ï¼1ã988ï¼
|
---|
| 451 | + ç´ éããç»é²ãåæã
|
---|
| 452 | - ã¬ã¬ã·ã¼å²è¾¼ã¿é¢é£
|
---|
| 453 | + ãµãã¼ãã®æç¡ï¼0ã2ï¼
|
---|
| 454 | + ã¬ãã«ããªã¬ãã¨ãã¸ããªã¬ã
|
---|
| 455 | + ç´ éããç»é²ãåæã
|
---|
| 456 | - åªå
|
---|
| 457 | 度ã¬ãã«ã®æ°
|
---|
| 458 | - The number of register slices in the highest pending interrupt logic.
|
---|
| 459 |
|
---|
| 460 | âå²è¾¼ã¿åä»ï¼ãã£ã¹ããªãã¥ã¼ã¿ã®æ©è½ï¼
|
---|
| 461 |
|
---|
| 462 | - å²è¾¼ã¿ã®ç»é²ï¼registeringï¼ã¨åæï¼synchronizingï¼
|
---|
| 463 | + ç´ éãã»ç»é²ã»åæã®3ã¤ãã1ã¤ãï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã§æ±ºãã
|
---|
| 464 | + ç»é² ⦠å²è¾¼ã¿è¦æ±ã次ã®ã¯ããã¯ã§åãåã
|
---|
| 465 | + åæ ⦠å²è¾¼ã¿è¦æ±ã次ã®æ¬¡ã®ã¯ããã¯ã§åãåã
|
---|
| 466 | - ã¨ãã¸æ¤åº
|
---|
| 467 | + ã¬ãã«ããªã¬ï¼ã¨ãã¸ããªã¬ã®2ã¤ãã1ã¤ãé¸ã¹ã
|
---|
| 468 | + PPIã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«æ±ºãã
|
---|
| 469 |
|
---|
| 470 | âCPUã¤ã³ã¿ãã§ã¼ã¹
|
---|
| 471 |
|
---|
| 472 | - 次ã®ä¸¡æ¹ãããåªå
|
---|
| 473 | 度ãé«ãå²è¾¼ã¿ãåãä»ãã
|
---|
| 474 | + ããã°ã©ã ã§ããå²è¾¼ã¿åªå
|
---|
| 475 | 度ãã¹ã¯
|
---|
| 476 | + ããã»ããµããµã¼ãã¹ä¸ã®å²è¾¼ã¿
|
---|
| 477 |
|
---|
| 478 | âå®è£
|
---|
| 479 | å®ç¾©äºé
|
---|
| 480 | ï¼é¢ä¿ããããªé
|
---|
| 481 | ç®ã®ã¿ï¼
|
---|
| 482 |
|
---|
| 483 | ãARM Generic Interrupt Controller Architectureãã§å®è£
|
---|
| 484 | å®ç¾©ã¨ããã¦ãã
|
---|
| 485 | äºé
|
---|
| 486 | ãï¼ãã®GICã§ã¯æ¬¡ã®ããã«å®ç¾©ãã¦ããï¼
|
---|
| 487 |
|
---|
| 488 | - PPIã®ããªã¬ã¢ã¼ãã¯ï¼ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³æã«æ±ºå®ãï¼ã¬ã¸ã¹ã¿ã®
|
---|
| 489 | è¨å®ã§å¤ããããªã
|
---|
| 490 |
|
---|
| 491 | - ã¢ã¯ãã£ãã¾ãã¯ã¢ã¯ãã£ããã³ãã£ã³ã°ã®å²è¾¼ã¿ã®åªå
|
---|
| 492 | 度ã¬ãã«ãå¤æ´
|
---|
| 493 | ããå ´åã®æ¯èãï¼ãã®GICã¯æ°ããåªå
|
---|
| 494 | 度ã¬ãã«ãããã«ä½¿ã
|
---|
| 495 |
|
---|
| 496 | - åãåªå
|
---|
| 497 | 度ã®å²è¾¼ã¿éã®åªå
|
---|
| 498 | é¢ä¿ï¼ç¥
|
---|
| 499 |
|
---|
| 500 | - ã¿ã¼ã²ããããã»ããµãè¤æ°ã®SPIã®èª¿åï¼ãã®GICã¯èª¿åãããªãï¼ã
|
---|
| 501 | ã¹ã¦ã®ã¿ã¼ã²ããããã»ããµã«åæã«å²è¾¼ã¿è¦æ±ãéãï¼æåã«å¿çã
|
---|
| 502 | ãï¼IARãèªãã ããã»ããµï¼ãå²è¾¼ã¿IDãåãåãï¼ä»ã®ããã»ããµã«
|
---|
| 503 | ã¯ï¼ã¹ããªã¢ã¹å²è¾¼ã¿ãè¿ãï¼
|
---|
| 504 |
|
---|
| 505 | âARM11 MPCore Distributed Interrupt Controllerï¼[3]ã®ç¬¬10ç« ï¼
|
---|
| 506 |
|
---|
| 507 | â»ARM11 MPCoreã®Distributed Interrupt Controllerã¯ï¼GICã®å身ã¨æãããï¼
|
---|
| 508 | ããã¥ã¢ã«ä¸ã«GICã¨ããç¨èªã¯åºã¦ããªããï¼GICã¨ã»ã¼äºæã§ä½¿ç¨ã§ããï¼
|
---|
| 509 |
|
---|
| 510 | Distributed Interrupt Controllerã¯ï¼æ¬¡ã®2ã¤ã§æ§æãããï¼
|
---|
| 511 | - å²è¾¼ã¿ãã£ã¹ããªãã¥ã¼ã¿
|
---|
| 512 | - CPUå²è¾¼ã¿ã¤ã³ã¿ãã§ã¼ã¹
|
---|
| 513 |
|
---|
| 514 | âå²è¾¼ã¿ãã£ã¹ããªãã¥ã¼ã¿
|
---|
| 515 |
|
---|
| 516 | ã»å²è¾¼ã¿è¦æ±ãããã»ããµã«åé
|
---|
| 517 | ããã¦ãããï¼å²è¾¼ã¿æ¯ã«ï¼åªå
|
---|
| 518 | 度ã¨ï¼ã¿ã¼
|
---|
| 519 | ã²ããããã»ããµã®ãªã¹ããè¨å®ã§ããï¼
|
---|
| 520 |
|
---|
| 521 | ã»å²è¾¼ã¿æºã«ã¯ï¼ä»¥ä¸ã®ãã®ãããï¼
|
---|
| 522 | - ããã»ããµéå²è¾¼ã¿ï¼IPIï¼â¦ GICã®SGIã«ç¸å½
|
---|
| 523 | + ã½ããã¦ã§ã¢ããè¦æ±ããå²è¾¼ã¿ï¼ID0ãID15
|
---|
| 524 | - ãã©ã¤ãã¼ãã¿ã¤ãã¨ã¦ã©ãããã㰠⦠GICã®PPIã«ç¸å½
|
---|
| 525 | + ARM11 MPCoreå
|
---|
| 526 | èµã¿ã¤ãããã®å²è¾¼ã¿ï¼ID29ã¨ID30
|
---|
| 527 | - ã¬ã¬ã·ã¼ãªnIRQã㳠⦠GICã®å²è¾¼ã¿ãã¤ãã¹ã«ç¸å½
|
---|
| 528 | + åããã»ããµã«ç´çµï¼ID31
|
---|
| 529 | - ãã¼ãã¦ã§ã¢å²è¾¼ã¿ ⦠GICã®SPIã«ç¸å½
|
---|
| 530 | + åå²è¾¼ã¿è¦æ±ã©ã¤ã³ã«å¯¾å¿ããå²è¾¼ã¿ï¼ID32ãæ大ID255
|
---|
| 531 |
|
---|
| 532 | ã»nFIQã¯æ±ããªãï¼nFIQã®è¦æ±ã©ã¤ã³ã¯ï¼åããã»ããµã«ç´çµãããï¼
|
---|
| 533 |
|
---|
| 534 | ã»å²è¾¼ã¿ãã£ã¹ããªãã¥ã¼ã¿ã¯ï¼ããã»ããµæ¯ã«ãã³ãã£ã³ã°ãã¦ããå²è¾¼ã¿
|
---|
| 535 | ãã®ãªã¹ããæã¡ï¼ãã®ä¸ã§æãåªå
|
---|
| 536 | 度ã®é«ããã®ãé¸ãã§ï¼CPUå²è¾¼ã¿ã¤ã³ã¿
|
---|
| 537 | ããã§ã¼ã¹ã«éç¥ããï¼
|
---|
| 538 |
|
---|
| 539 | - åªå
|
---|
| 540 | 度ãåãå²è¾¼ã¿ã®éã§ã¯ï¼IDãå°ããæ¹ãåªå
|
---|
| 541 |
|
---|
| 542 |
|
---|
| 543 | - 1-Nã¢ãã«ã¨N-Nã¢ãã«ã®ä¸¡æ¹ããµãã¼ã
|
---|
| 544 | + 1-Nã¢ãã«ã§ï¼è¤æ°ã®ããã»ããµãåæã«IARã«ã¢ã¯ã»ã¹ããã¨ï¼å
|
---|
| 545 | ãå²è¾¼ã¿ãéç¥ããã
|
---|
| 546 | ï¼å²è¾¼ã¿å¦çã®ã½ããã¦ã§ã¢ã§è§£æ±ºããªããã°ãªããªãï¼
|
---|
| 547 | â»è¤æ°ã®ã¿ã¼ã²ããããã»ããµã¸ã®éç¥ã¯ä½¿ããªãæ¹ãç¡é£
|
---|
| 548 |
|
---|
| 549 | âå²è¾¼ã¿ãã£ã¹ããªãã¥ã¼ã¿ã®ã¬ã¸ã¹ã¿
|
---|
| 550 |
|
---|
| 551 | ã»å²è¾¼ã¿ã³ã³ãã£ã®ã¥ã¬ã¼ã·ã§ã³ã¬ã¸ã¹ã¿ã§ï¼1-Nã¢ãã«ãN-Nã¢ãã«ããè¨å®ãã
|
---|
| 552 | ãGICv1ããåã®ä¸é¨ã®å®è£
|
---|
| 553 | ãã«è©²å½
|
---|
| 554 |
|
---|
| 555 | âCPUå²è¾¼ã¿ã¤ã³ã¿ãã§ã¼ã¹ã®ã¬ã¸ã¹ã¿
|
---|
| 556 |
|
---|
| 557 | ã»ã¬ã¸ã¹ã¿ã®ä¸è¦§
|
---|
| 558 |
|
---|
| 559 | ã¬ã¸ã¹ã¿å ãªãã»ãã
|
---|
| 560 | ---------------------------------------------------
|
---|
| 561 | Control Register 0x00 R/W
|
---|
| 562 | Priority Mask Register 0x04 R/W
|
---|
| 563 | Binary Pointer Register 0x08 R/W
|
---|
| 564 | Interrupt Acknowledge Register 0x0c RO
|
---|
| 565 | End of Interrupt Register 0x10 WO
|
---|
| 566 | Running Priority Register 0x14 RO
|
---|
| 567 | Highest Pending Interrupt Register 0x18 RO
|
---|
| 568 |
|
---|
| 569 | ã»å¶å¾¡ã¬ã¸ã¹ã¿
|
---|
| 570 | [31:1] äºç´
|
---|
| 571 | [1] Enable
|
---|
| 572 | 0ï¼å¤é¨nIRQå
|
---|
| 573 | ¥åã®ã¿ãæå¹
|
---|
| 574 | 1ï¼ãã¹ã¦ã®å²è¾¼ã¿å
|
---|
| 575 | ¥åãæå¹
|
---|
| 576 |
|
---|
| 577 | ã»åªå
|
---|
| 578 | 度ãã¹ã¯ã¬ã¸ã¹ã¿
|
---|
| 579 | [31:8] SBZ
|
---|
| 580 | [7:4] åªå
|
---|
| 581 | 度ãã¹ã¯
|
---|
| 582 | 0x0ï¼ãã¹ã¦ã®å²è¾¼ã¿ããã¹ã¯
|
---|
| 583 | ...
|
---|
| 584 | 0xEï¼å²è¾¼ã¿åªå
|
---|
| 585 | 度14ã15ããã¹ã¯
|
---|
| 586 | 0xFï¼å²è¾¼ã¿åªå
|
---|
| 587 | 度15ã®ã¿ãã¹ã¯
|
---|
| 588 | â»å²è¾¼ã¿åªå
|
---|
| 589 | 度15ã¯åãä»ããããªã
|
---|
| 590 | [3:0] SBZ
|
---|
| 591 |
|
---|
| 592 | â»ã«ã¼ãã«ã®å²è¾¼ã¿åªå
|
---|
| 593 | 度ãã¹ã¯ã¨ã®å¯¾å¿
|
---|
| 594 | 0x0 -15
|
---|
| 595 | ...
|
---|
| 596 | 0xE -1
|
---|
| 597 | 0xF 0
|
---|
| 598 |
|
---|
| 599 | ã»ãã¤ããªãã¤ã³ãã¬ã¸ã¹ã¿
|
---|
| 600 | [31:3] äºç´
|
---|
| 601 | [2:0] Binary point å²è¾¼ã¿åªå
|
---|
| 602 | 度ã®ã©ã®ããããããªã¨ã³ãã·ã§ã³ã®
|
---|
| 603 | å¤æã«ä½¿ããï¼
|
---|
| 604 | 0x3ï¼ãã¹ã¦ã®ãããã使ãï¼ããã©ã«ãï¼
|
---|
| 605 | 0x4ï¼ä¸ä½3ãããã使ã
|
---|
| 606 | 0x5ï¼ä¸ä½2ãããã使ã
|
---|
| 607 | 0x6ï¼æä¸ä½ãããã®ã¿ä½¿ã
|
---|
| 608 | 0x7ï¼ããªã¨ã³ãã·ã§ã³ããªã
|
---|
| 609 | ä»ã®å¤ãæ¸ãã¨ï¼0x03ãæ¸ããã®ã¨åãã«ãªã
|
---|
| 610 |
|
---|
| 611 | ã»å²è¾¼ã¿ã¢ã¯ãã¼ã¬ãã¸ã¬ã¸ã¹ã¿
|
---|
| 612 | [31:13] SBZ/RAZ
|
---|
| 613 | [12:10] ã½ã¼ã¹CPU ID ããã»ããµéå²è¾¼ã¿ãè¦æ±ããããã»ããµID
|
---|
| 614 | [9:0] å²è¾¼ã¿ID
|
---|
| 615 | 1023ï¼ã¹ããªã¢ã¹å²è¾¼ã¿
|
---|
| 616 |
|
---|
| 617 | ã»å²è¾¼ã¿å®äºã¬ã¸ã¹ã¿
|
---|
| 618 | å²è¾¼ã¿å¦çã®å®äºãéç¥ããããã®ã¬ã¸ã¹ã¿
|
---|
| 619 | å²è¾¼ã¿ã¢ã¯ãã¼ã¬ãã¸ã¬ã¸ã¹ã¿ã¨åããã©ã¼ããã
|
---|
| 620 |
|
---|
| 621 | ã»å®è¡ä¸åªå
|
---|
| 622 | 度ã¬ã¸ã¹ã¿
|
---|
| 623 | æå¾ã«ã¢ã¯ãã¼ã¬ãã¸ãã¦ï¼ã¾ã å®äºãã¦ããªãå²è¾¼ã¿ã®åªå
|
---|
| 624 | 度
|
---|
| 625 | [31:8] äºç´
|
---|
| 626 | [7:4] åªå
|
---|
| 627 | 度
|
---|
| 628 | [3:0] SBZ
|
---|
| 629 |
|
---|
| 630 | ã»æé«åªå
|
---|
| 631 | 度ãã³ãã£ã³ã°å²è¾¼ã¿ã¬ã¸ã¹ã¿
|
---|
| 632 | ãã³ãã£ã³ã°ãã¦ããå²è¾¼ã¿ã®ä¸ã§æé«åªå
|
---|
| 633 | 度ã®ãã®ãåå¾ããããã®ã¬ã¸ã¹ã¿
|
---|
| 634 | ãã³ãã£ã³ã°ãã¦ããå²è¾¼ã¿ããªãæã¯ï¼å²è¾¼ã¿IDã¨ãã¦1023ãè¿ã
|
---|
| 635 | å²è¾¼ã¿ã¢ã¯ãã¼ã¬ãã¸ã¬ã¸ã¹ã¿ã¨åããã©ã¼ããã
|
---|
| 636 |
|
---|
| 637 | 以ä¸
|
---|