Changeset 306 for asp3_wo_tecs/trunk/arch/arm_gcc/doc/gic_design.txt
- Timestamp:
- Jun 27, 2017, 10:53:32 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_wo_tecs/trunk/arch/arm_gcc/doc/gic_design.txt
r302 r306 3 3 GICï¼ARM Generic Interrupt Controllerï¼ä¾åé¨ è¨è¨ã¡ã¢ 4 4 5 対å¿ãã¼ã¸ã§ã³: Release 3.B.0 6 æçµæ´æ°: 2015å¹´7æ24æ¥ 7 5 対å¿ãã¼ã¸ã§ã³: Release 3.0.0 6 æçµæ´æ°: 2016å¹´1æ16æ¥ 7 8 ---------------------------------------------------------------------- 9 TOPPERS/ASP Kernel 10 Toyohashi Open Platform for Embedded Real-Time Systems/ 11 Advanced Standard Profile Kernel 12 13 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory 14 Graduate School of Information Science, Nagoya Univ., JAPAN 15 16 ä¸è¨èä½æ¨©è 17 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 18 ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 19 å¤ã»åé 20 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 21 (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 22 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 23 ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 24 (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 25 ç¨ã§ããå½¢ã§åé 26 å¸ããå ´åã«ã¯ï¼åé 27 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 28 è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 30 ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 32 ç¨ã§ããªãå½¢ã§åé 33 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 34 ã¨ï¼ 35 (a) åé 36 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 37 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 38 ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 39 (b) åé 40 å¸ã®å½¢æ 41 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 42 å ±åãããã¨ï¼ 43 (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 44 害ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ããå 46 責ãããã¨ï¼ 47 ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 48 ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 49 ããã³TOPPERSããã¸ã§ã¯ãã 50 å 51 責ãããã¨ï¼ 52 53 æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 54 ã 55 ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 56 ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 57 ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 58 ã®è²¬ä»»ãè² ããªãï¼ 59 60 $Id: gic_design.txt 533 2016-01-15 23:29:33Z ertl-hiro $ 8 61 ---------------------------------------------------------------------- 9 62 … … 14 67 - GICä¾åé¨ãæ§æãããã¡ã¤ã« 15 68 ã»ãããä¾åã®ãã©ã¡ã¼ã¿ 69 - ã¢ããªã±ã¼ã·ã§ã³ããåç 70 §ã§ãããã©ã¡ã¼ã¿ 71 - ã«ã¼ãã«å 72 é¨ã§ä½¿ç¨ãããã©ã¡ã¼ã¿ 16 73 ã»GICã«ãããå²è¾¼ã¿ãã³ãã©ããã³CPUä¾å¤ãã³ãã©ã®åºå 17 74 ¥å£å¦ç 18 75 - GICã«ãããå²è¾¼ã¿ãã³ãã©ã®åºå 76 ¥å£å¦ç 77 - GICã«ãããCPUä¾å¤ãã³ãã©ã®åºå 19 78 ¥å£å¦ç 20 79 … … 43 102 GICä¾åé¨ã¯ï¼æ¬¡ã®3ã¤ã®ãã¡ã¤ã«ã§æ§æãããï¼ 44 103 45 gic_kernel_impl.h 46 gic_kernel_impl.c 47 gic_support.S 104 arch/arm_gcc/common/ 105 gic_kernel_impl.h ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ã®ããããã¡ã¤ã« 106 gic_kernel_impl.c ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ 107 gic_support.S ã«ã¼ãã«ã®å²è¾¼ã¿GICä¾åé¨ã®ã¢ã»ã³ããªè¨èªé¨ 48 108 49 109 âãããä¾åã®ãã©ã¡ã¼ã¿ 50 110 51 TMIN_INTPRI 52 TMAX_INTPRI 53 54 ã«ã¼ãã«ã®ã¿ã¼ã²ããä¾åé¨ã®ããããã¡ã¤ã«ããgic_kernel_impl.hãã¤ã³ã¯ 55 ã«ã¼ãããåã«ï¼å¿ 56 è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®å®æ°ããã¯ãå®ç¾©ãã¦ããï¼ 111 âã¢ããªã±ã¼ã·ã§ã³ããåç 112 §ã§ãããã©ã¡ã¼ã¿ 113 114 target_kernel.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ã§ï¼ä»¥ä¸ã® 115 å®æ°ããã¯ãå®ç¾©ãã¦ããï¼ 116 117 (1) TMIN_INTPRI å²è¾¼ã¿åªå 118 度ã®æå°å¤ï¼æé«å¤ï¼ 119 (2) TMAX_INTPRI å²è¾¼ã¿åªå 120 度ã®æ大å¤ï¼æä½å¤ï¼ 121 122 TMAX_INTPRIã¯ï¼-1ã«å®ç¾©ããï¼TMAX_INTPRIã¯ï¼ã¿ã¼ã²ãããããã®GICã§ãµãã¼ 123 ãããå²è¾¼ã¿åªå 124 度ã®æ®µæ°ã«ããï¼-15ï¼-31ï¼-63ï¼-127ï¼-255ã®ããããã«å® 125 義ããï¼ 126 127 âã«ã¼ãã«å 128 é¨ã§ä½¿ç¨ãããã©ã¡ã¼ã¿ 129 130 target_kernel_impl.hï¼ã¾ãã¯ï¼ããããã¤ã³ã¯ã«ã¼ãããããã¡ã¤ã«ï¼ãã 131 gic_kernel_impl.hãã¤ã³ã¯ã«ã¼ãããåã«ï¼å¿ 132 è¦ã«å¿ãã¦ï¼ä»¥ä¸ã®å®æ°ãã㯠133 ãå®ç¾©ãã¦ããï¼ 57 134 58 135 (1) GIC_TNUM_INTNO å²è¾¼ã¿ã®æ° … … 62 139 Peripheral Interruptï¼ã®åè¨æ°ï¼ 63 140 64 (2) GIC_PRI_LEVEL å²è¾¼ã¿åªå 65 度ã®æ®µæ° 66 67 ã¿ã¼ã²ãããããã®GICããµãã¼ãããå²è¾¼ã¿åªå 68 度ã®æ®µæ°ï¼16ï¼32ï¼64ï¼128ï¼ 69 256ã®ããããï¼ 70 71 (3) GICC_BASE CPUã¤ã³ã¿ãã§ã¼ã¹ã®ãã¼ã¹ã¢ãã¬ã¹ 72 (4) GICD_BASE ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ 141 (2) GICC_BASE CPUã¤ã³ã¿ãã§ã¼ã¹ã®ãã¼ã¹ã¢ãã¬ã¹ 142 (3) GICD_BASE ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ 73 143 74 144 GICã®CPUã¤ã³ã¿ãã§ã¼ã¹ããã³ãã£ã¹ããªãã¥ã¼ã¿ã®ãã¼ã¹ã¢ãã¬ã¹ï¼ 75 145 76 ( 5) TOPPERS_SAFEG_SECURE ã»ãã¥ã¢ã¢ã¼ãï¼ãªãã·ã§ã³ï¼146 (4) TOPPERS_SAFEG_SECURE ã»ãã¥ã¢ã¢ã¼ãï¼ãªãã·ã§ã³ï¼ 77 147 78 148 ã»ãã¥ã¢ã¢ã¼ãã§ã«ã¼ãã«ãåä½ããï¼FIQãã«ã¼ãã«ç®¡çã®å²è¾¼ã¿ã¨æ±ãå ´å 79 149 ã«ï¼ãã®ã·ã³ãã«ããã¯ãå®ç¾©ããï¼ 80 150 81 ( 6) GIC_ARM11MOCORE ARM11 MPCoreã¸ã®å¯¾å¿ï¼ãªãã·ã§ã³ï¼151 (5) GIC_ARM11MPCORE ARM11 MPCoreã¸ã®å¯¾å¿ï¼ãªãã·ã§ã³ï¼ 82 152 83 153 ARM11 MPCoreã®Distributed Interrupt Controllerã®å ´åã«ã¯ï¼ãã®ã·ã³ãã« … … 284 354 ¥å£å¦ç 285 355 286 356 GICã«ãããCPUä¾å¤ãã³ãã©ã®å 357 ¥å£å¦çï¼irc_begin_excï¼ã§ã¯ï¼CPUä¾å¤çºç 358 åã®å²è¾¼ã¿åªå 359 度ãã¹ã¯ãã¹ã¿ãã¯ã«ä¿åãï¼CPUä¾å¤ãã³ãã©ã®å 360 ¥å£å¦ç 361 ï¼irc_end_excï¼ã§å²è¾¼ã¿åªå 362 度ãã¹ã¯ãå 363 ã«æ»ãï¼ 364 365 ---------------------------------------- 366 ALABEL(irc_begin_exc) 367 /* 368 * å²è¾¼ã¿åªå 369 度ãã¹ã¯ãä¿åããï¼ 370 */ 371 ldr r1, =GICC_PMR /* ç¾å¨ã®å²è¾¼ã¿åªå 372 度ãåå¾ */ 373 ldr r2, [r1] 374 push {r2} /* irc_end_excã§ç¨ããæ 375 å ±ãä¿å */ 376 bx lr 377 ---------------------------------------- 378 ALABEL(irc_end_exc) 379 /* 380 * å²è¾¼ã¿åªå 381 度ãã¹ã¯ãå 382 ã«æ»ãï¼ 383 */ 384 pop {r2} /* irc_begin_excã§ä¿åããæ 385 å ±ã復帰 */ 386 ldr r1, =GICC_PMR /* å²è¾¼ã¿åªå 387 度ãã¹ã¯ãå 388 ã«æ»ã */ 389 str r2, [r1] 390 bx lr 391 ---------------------------------------- 287 392 288 393 以ä¸
Note:
See TracChangeset
for help on using the changeset viewer.