Changeset 386 for ssp_rpi3/trunk/target/rpi_arm64_gcc/start.S
- Timestamp:
- Apr 17, 2019, 12:13:00 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_rpi3/trunk/target/rpi_arm64_gcc/start.S
-
Property svn:mime-type
set to
text/plain; charset=utf-8
r384 r386 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ä¸è¨èä½æ¨©è 13 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 14 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 15 * å¤ã»åé 16 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 17 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 18 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 19 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 20 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 21 * ç¨ã§ããå½¢ã§åé 22 å¸ããå ´åã«ã¯ï¼åé 23 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 24 * è 25 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 26 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 27 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 28 * ç¨ã§ããªãå½¢ã§åé 29 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 30 * ã¨ï¼ 31 * (a) åé 32 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 33 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 34 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 35 * (b) åé 36 å¸ã®å½¢æ 37 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 38 * å ±åãããã¨ï¼ 39 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 40 * 害ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ããå 42 責ãããã¨ï¼ 43 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 44 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ãã 46 * å 47 責ãããã¨ï¼ 12 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ 13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 14 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 17 * スコード中に含まれていること. 18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 19 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 20 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 21 * の無保証規定を掲載すること. 22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 23 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 24 * と. 25 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 26 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 27 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 28 * 報告すること. 29 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 30 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 32 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 33 * 免責すること. 48 34 * 49 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 50 ã 51 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 52 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 53 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 54 * ã®è²¬ä»»ãè² ããªãï¼ 35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 55 40 * 56 41 * $Id$ … … 58 43 59 44 #define TOPPERS_MACRO_ONLY 60 #define UINT64_C(val) (val) /* uint64_t åã®å®æ°ãä½ããã¯ã*/45 #define UINT64_C(val) (val) /* uint64_t型の定数を作るマクロ */ 61 46 #include "kernel_impl.h" 62 47 … … 66 51 .global vectors 67 52 start: 68 // ã³ã¢0ã®ã¿å©ç¨53 // コア0のみ利用 69 54 mrs x0, mpidr_el1 70 55 and x0, x0, #3 71 56 cbz x0, 2f 72 57 1: 73 // ã³ã¢0以å¤58 // コア0以外 74 59 wfi 75 60 b 1b 76 61 2: 77 // ãã以éã¯ã³ã¢0ã®ã¿62 // これ以降はコア0のみ 78 63 msr daifset, #(AARCH64_DAIF_IRQ | AARCH64_DAIF_FIQ) // CPSR.{I,F}=1 79 64 80 65 /* 81 * ã¹ã¿ãã¯å 82 é çªå°ãåãåºãã¦ãã 66 * スタック先頭番地を取り出しておく 83 67 */ 84 68 adrp x1, _kernel_istkpt … … 87 71 88 72 /* 89 * EL æ¯ã®å¦ç73 * EL毎の処理 90 74 */ 91 75 mrs x0, CurrentEL … … 106 90 msr CNTFRQ_EL0, x0 107 91 108 // EL2 ã¸ç§»è¡92 // EL2へ移行 109 93 mov x2, #0x0c9 // I=F=1, MODE=1001 (EL2h) 110 94 msr spsr_el3, x2 … … 133 117 isb 134 118 135 // EL1 ã¸ç§»è¡119 // EL1へ移行 136 120 mov x2, #0x0c5 // I,F=1, mode=0101(EL1h) 137 121 msr spsr_el2, x2 … … 144 128 */ 145 129 start_el1: 146 // ã¹ã¿ãã¯ãã¤ã³ã¿ã¨ãã¬ã¼ã ãã¤ã³ã¿ã®åæå130 // スタックポインタとフレームポインタの初期化 147 131 mov sp, x1 148 132 mov x29, xzr 149 133 150 134 /* 151 * ä¾å¤ãã¯ã¿ãã¼ãã«ã®ãã¼ã¹ã¢ãã¬ã¹è¨å®135 * 例外ベクタテーブルのベースアドレス設定 152 136 */ 153 137 ldr x0, =vectors … … 155 139 156 140 /* 157 * bss ã»ã¯ã·ã§ã³ã®ã¯ãªã¢141 * bssセクションのクリア 158 142 */ 159 143 ldr x1, =__start_bss … … 168 152 4: 169 153 /* 170 * sta_ker å¼ã³åºã154 * sta_ker呼び出し 171 155 */ 172 156 bl sta_ker -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.