Changeset 321 for EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/arm.h
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/arm.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r270 r321 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ä¸è¨èä½æ¨©è 11 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 12 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 13 * å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 28 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 42 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 43 ããã³TOPPERSããã¸ã§ã¯ãã 44 * å 45 責ãããã¨ï¼ 10 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 46 32 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * ARM ã³ã¢ãµãã¼ãã¢ã¸ã¥ã¼ã«43 * ARMコアサポートモジュール 59 44 */ 60 45 … … 65 50 66 51 /* 67 * ARM ã³ã¢ã®ç¹æ®å½ä»¤ã®ã¤ã³ã©ã¤ã³é¢æ°å®ç¾©52 * ARMコアの特殊命令のインライン関数定義 68 53 */ 69 54 #ifndef TOPPERS_MACRO_ONLY 70 55 #ifndef TECSGEN 71 #include "arm_insn.h" /* tecsgen ã解éã§ããªãããã¹ããã*/56 #include "arm_insn.h" /* tecsgenが解釈できないためスキップ */ 72 57 #endif /* TECSGEN */ 73 58 #endif /* TOPPERS_MACRO_ONLY */ 74 59 75 60 /* 76 * ARM ä¾å¤ãã¯ã¿61 * ARM例外ベクタ 77 62 */ 78 63 #define RESET_VECTOR UINT_C(0x00) … … 85 70 86 71 /* 87 * ARM ä¾å¤ãã¯ã¿çªå·72 * ARM例外ベクタ番号 88 73 */ 89 74 #define RESET_NUMBER UINT_C(0) … … 96 81 97 82 /* 98 * CPSR ã®å²è¾¼ã¿ç¦æ¢ããã83 * CPSRの割込み禁止ビット 99 84 */ 100 85 #define CPSR_INT_MASK UINT_C(0xc0) … … 103 88 104 89 /* 105 * CPSR ã®Thumbããã90 * CPSRのThumbビット 106 91 */ 107 92 #define CPSR_THUMB_BIT UINT_C(0x20) 108 93 109 94 /* 110 * CPSR ã®ã¢ã¼ãããã95 * CPSRのモードビット 111 96 */ 112 97 #define CPSR_MODE_MASK UINT_C(0x1f) … … 120 105 121 106 /* 122 * CP15 ã®ã·ã¹ãã å¶å¾¡ã¬ã¸ã¹ã¿ï¼SCTLRï¼ã®è¨å®å¤107 * CP15のシステム制御レジスタ(SCTLR)の設定値 123 108 * 124 * ARMv7 ã§ã¯ï¼CP15_SCTLR_EXTPAGEã¯å¸¸ã«1ã«ãªã£ã¦ããï¼109 * ARMv7では,CP15_SCTLR_EXTPAGEは常に1になっている. 125 110 */ 126 111 #if __TARGET_ARCH_ARM == 6 … … 134 119 135 120 /* 136 * CP15ã®ãã©ã¼ã«ãç¶æ 137 ã¬ã¸ã¹ã¿ã®åç 138 §å¤ 121 * CP15のフォールト状態レジスタの参照値 139 122 */ 140 123 #define CP15_FSR_FS_MASK UINT_C(0x0000040f) … … 146 129 147 130 /* 148 * CP15 ã®ããã©ã¼ãã³ã¹ã¢ãã¿å¶å¾¡ã¬ã¸ã¹ã¿ï¼PMCRï¼ã®è¨å®å¤131 * CP15のパフォーマンスモニタ制御レジスタ(PMCR)の設定値 149 132 */ 150 133 #define CP15_PMCR_ALLCNTR_ENABLE UINT_C(0x01) … … 152 135 153 136 /* 154 * CP15 ã®ããã©ã¼ãã³ã¹ã¢ãã¿ã«ã¦ã³ãã¤ãã¼ãã«ã»ããã¬ã¸ã¹ã¿ï¼PMCNTENSETï¼155 * ã®è¨å®å¤137 * CP15のパフォーマンスモニタカウントイネーブルセットレジスタ(PMCNTENSET) 138 * の設定値 156 139 */ 157 140 #define CP15_PMCNTENSET_CCNTR_ENABLE UINT_C(0x80000000) 158 141 159 142 /* 160 * CP15 ã®å¤æãã¼ãã«ãã¼ã¹ã¬ã¸ã¹ã¿ï¼TTBRï¼ã®è¨å®å¤143 * CP15の変換テーブルベースレジスタ(TTBR)の設定値 161 144 */ 162 145 #define CP15_TTBR_RGN_SHAREABLE UINT_C(0x00000002) … … 175 158 176 159 /* 177 * MMU é¢é£ã®å®ç¾©ï¼VMSAï¼178 */ 179 180 /* 181 * ã»ã¯ã·ã§ã³ã¨ãã¼ã¸ã®ãµã¤ãº160 * MMU関連の定義(VMSA) 161 */ 162 163 /* 164 * セクションとページのサイズ 182 165 */ 183 166 #define ARM_SSECTION_SIZE UINT_C(0x1000000) … … 187 170 188 171 /* 189 * ã»ã¯ã·ã§ã³ãã¼ãã«ã¨ãã¼ã¸ãã¼ãã«ã®ãµã¤ãº172 * セクションテーブルとページテーブルのサイズ 190 173 */ 191 174 #define ARM_SECTION_TABLE_SIZE UINT_C(0x4000) … … 198 181 199 182 /* 200 * 第1ã¬ãã«ãã£ã¹ã¯ãªãã¿ã®è¨å®å¤ 201 */ 202 #define ARM_MMU_DSCR1_FAULT 0x00000U /* ãã©ã«ã */ 203 #define ARM_MMU_DSCR1_PAGETABLE 0x00001U /* ã³ã¢ã¼ã¹ãã¼ã¸ãã¼ãã« */ 204 #define ARM_MMU_DSCR1_SECTION 0x00002U /* ã»ã¯ã·ã§ã³ */ 205 #define ARM_MMU_DSCR1_SSECTION 0x40002U /* ã¹ã¼ãã¼ã»ã¯ã·ã§ã³ */ 206 207 #define ARM_MMU_DSCR1_SHARED 0x10000U /* ããã»ããµéã§å 208 ±æ */ 209 #define ARM_MMU_DSCR1_TEX000 0x00000U /* TEXãããã000 */ 210 #define ARM_MMU_DSCR1_TEX001 0x01000U /* TEXãããã001 */ 211 #define ARM_MMU_DSCR1_TEX010 0x02000U /* TEXãããã010 */ 212 #define ARM_MMU_DSCR1_TEX100 0x04000U /* TEXãããã100 */ 213 #define ARM_MMU_DSCR1_AP01 0x00400U /* APãããã01 */ 214 #define ARM_MMU_DSCR1_AP10 0x00800U /* APãããã10 */ 215 #define ARM_MMU_DSCR1_AP11 0x00c00U /* APãããã11 */ 216 #define ARM_MMU_DSCR1_CB00 0x00000U /* Cãããã0ï¼Bãããã0 */ 217 #define ARM_MMU_DSCR1_CB01 0x00004U /* Cãããã0ï¼Bãããã1 */ 218 #define ARM_MMU_DSCR1_CB10 0x00008U /* Cãããã1ï¼Bãããã0 */ 219 #define ARM_MMU_DSCR1_CB11 0x0000cU /* Cãããã1ï¼Bãããã1 */ 183 * 第1レベルディスクリプタの設定値 184 */ 185 #define ARM_MMU_DSCR1_FAULT 0x00000U /* フォルト */ 186 #define ARM_MMU_DSCR1_PAGETABLE 0x00001U /* コアースページテーブル */ 187 #define ARM_MMU_DSCR1_SECTION 0x00002U /* セクション */ 188 #define ARM_MMU_DSCR1_SSECTION 0x40002U /* スーパーセクション */ 189 190 #define ARM_MMU_DSCR1_SHARED 0x10000U /* プロセッサ間で共有 */ 191 #define ARM_MMU_DSCR1_TEX000 0x00000U /* TEXビットが000 */ 192 #define ARM_MMU_DSCR1_TEX001 0x01000U /* TEXビットが001 */ 193 #define ARM_MMU_DSCR1_TEX010 0x02000U /* TEXビットが010 */ 194 #define ARM_MMU_DSCR1_TEX100 0x04000U /* TEXビットが100 */ 195 #define ARM_MMU_DSCR1_AP01 0x00400U /* APビットが01 */ 196 #define ARM_MMU_DSCR1_AP10 0x00800U /* APビットが10 */ 197 #define ARM_MMU_DSCR1_AP11 0x00c00U /* APビットが11 */ 198 #define ARM_MMU_DSCR1_CB00 0x00000U /* Cビットが0,Bビットが0 */ 199 #define ARM_MMU_DSCR1_CB01 0x00004U /* Cビットが0,Bビットが1 */ 200 #define ARM_MMU_DSCR1_CB10 0x00008U /* Cビットが1,Bビットが0 */ 201 #define ARM_MMU_DSCR1_CB11 0x0000cU /* Cビットが1,Bビットが1 */ 220 202 221 203 #if __TARGET_ARCH_ARM >= 6 222 #define ARMV6_MMU_DSCR1_NONGLOBAL 0x20000U /* ã°ãã¼ãã«ã§ãªã*/223 #define ARMV6_MMU_DSCR1_APX0 0x00000U /* APX ãããã0 */224 #define ARMV6_MMU_DSCR1_APX1 0x08000U /* APX ãããã1 */225 #define ARMV6_MMU_DSCR1_ECC 0x00200U /* ECC ãæå¹ï¼MPCoreï¼*/226 #define ARMV6_MMU_DSCR1_NOEXEC 0x00010U /* å®è¡ä¸å¯*/204 #define ARMV6_MMU_DSCR1_NONGLOBAL 0x20000U /* グローバルでない */ 205 #define ARMV6_MMU_DSCR1_APX0 0x00000U /* APXビットが0 */ 206 #define ARMV6_MMU_DSCR1_APX1 0x08000U /* APXビットが1 */ 207 #define ARMV6_MMU_DSCR1_ECC 0x00200U /* ECCが有効(MPCore)*/ 208 #define ARMV6_MMU_DSCR1_NOEXEC 0x00010U /* 実行不可 */ 227 209 #endif /* __TARGET_ARCH_ARM >= 6 */ 228 210 229 211 /* 230 * 第2ã¬ãã«ãã£ã¹ã¯ãªãã¿ã®è¨å®å¤231 */ 232 #define ARM_MMU_DSCR2_FAULT 0x0000U /* ãã©ã«ã*/233 #define ARM_MMU_DSCR2_LARGE 0x0001U /* ã©ã¼ã¸ãã¼ã¸*/234 #define ARM_MMU_DSCR2_SMALL 0x0002U /* ã¹ã¢ã¼ã«ãã¼ã¸*/235 236 #define ARM_MMU_DSCR2_CB00 0x0000U /* C ãããã0ï¼Bãããã0 */237 #define ARM_MMU_DSCR2_CB01 0x0004U /* C ãããã0ï¼Bãããã1 */238 #define ARM_MMU_DSCR2_CB10 0x0008U /* C ãããã1ï¼Bãããã0 */239 #define ARM_MMU_DSCR2_CB11 0x000cU /* C ãããã1ï¼Bãããã1 */212 * 第2レベルディスクリプタの設定値 213 */ 214 #define ARM_MMU_DSCR2_FAULT 0x0000U /* フォルト */ 215 #define ARM_MMU_DSCR2_LARGE 0x0001U /* ラージページ */ 216 #define ARM_MMU_DSCR2_SMALL 0x0002U /* スモールページ */ 217 218 #define ARM_MMU_DSCR2_CB00 0x0000U /* Cビットが0,Bビットが0 */ 219 #define ARM_MMU_DSCR2_CB01 0x0004U /* Cビットが0,Bビットが1 */ 220 #define ARM_MMU_DSCR2_CB10 0x0008U /* Cビットが1,Bビットが0 */ 221 #define ARM_MMU_DSCR2_CB11 0x000cU /* Cビットが1,Bビットが1 */ 240 222 241 223 #if __TARGET_ARCH_ARM < 6 242 224 243 #define ARMV5_MMU_DSCR2_AP01 0x0550U /* AP[0-3] ãããã01 */244 #define ARMV5_MMU_DSCR2_AP10 0x0aa0U /* AP[0-3] ãããã10 */245 #define ARMV5_MMU_DSCR2_AP11 0x0ff0U /* AP[0-3] ãããã11 */246 247 /* ã©ã¼ã¸ãã¼ã¸ã®ãã£ã¹ã¯ãªãã¿ç¨*/248 #define ARMV5_MMU_DSCR2L_TEX000 0x0000U /* TEX ãããã000 */249 #define ARMV5_MMU_DSCR2L_TEX001 0x1000U /* TEX ãããã001 */250 #define ARMV5_MMU_DSCR2L_TEX010 0x2000U /* TEX ãããã010 */251 #define ARMV5_MMU_DSCR2L_TEX100 0x4000U /* TEX ãããã100 */225 #define ARMV5_MMU_DSCR2_AP01 0x0550U /* AP[0-3]ビットが01 */ 226 #define ARMV5_MMU_DSCR2_AP10 0x0aa0U /* AP[0-3]ビットが10 */ 227 #define ARMV5_MMU_DSCR2_AP11 0x0ff0U /* AP[0-3]ビットが11 */ 228 229 /* ラージページのディスクリプタ用 */ 230 #define ARMV5_MMU_DSCR2L_TEX000 0x0000U /* TEXビットが000 */ 231 #define ARMV5_MMU_DSCR2L_TEX001 0x1000U /* TEXビットが001 */ 232 #define ARMV5_MMU_DSCR2L_TEX010 0x2000U /* TEXビットが010 */ 233 #define ARMV5_MMU_DSCR2L_TEX100 0x4000U /* TEXビットが100 */ 252 234 253 235 #else /* __TARGET_ARCH_ARM < 6 */ 254 236 255 #define ARMV6_MMU_DSCR2_NONGLOBAL 0x0800U /* ã°ãã¼ãã«ã§ãªã */ 256 #define ARMV6_MMU_DSCR2_SHARED 0x0400U /* ããã»ããµéã§å 257 ±æ */ 258 #define ARMV6_MMU_DSCR2_APX0 0x0000U /* APXãããã0 */ 259 #define ARMV6_MMU_DSCR2_APX1 0x0200U /* APXãããã1 */ 260 #define ARMV6_MMU_DSCR2_AP01 0x0010U /* APãããã01 */ 261 #define ARMV6_MMU_DSCR2_AP10 0x0020U /* APãããã10 */ 262 #define ARMV6_MMU_DSCR2_AP11 0x0030U /* APãããã11 */ 263 264 /* ã©ã¼ã¸ãã¼ã¸ã®ãã£ã¹ã¯ãªãã¿ç¨ */ 265 #define ARMV6_MMU_DSCR2L_TEX000 0x0000U /* TEXãããã000 */ 266 #define ARMV6_MMU_DSCR2L_TEX001 0x1000U /* TEXãããã001 */ 267 #define ARMV6_MMU_DSCR2L_TEX010 0x2000U /* TEXãããã010 */ 268 #define ARMV6_MMU_DSCR2L_TEX100 0x4000U /* TEXãããã100 */ 269 #define ARMV6_MMU_DSCR2L_NOEXEC 0x8000U /* å®è¡ä¸å¯ */ 270 271 /* ã¹ã¢ã¼ã«ãã¼ã¸ã®ãã£ã¹ã¯ãªãã¿ç¨ */ 272 #define ARMV6_MMU_DSCR2S_TEX000 0x0000U /* TEXãããã000 */ 273 #define ARMV6_MMU_DSCR2S_TEX001 0x0040U /* TEXãããã001 */ 274 #define ARMV6_MMU_DSCR2S_TEX010 0x0080U /* TEXãããã010 */ 275 #define ARMV6_MMU_DSCR2S_TEX100 0x0100U /* TEXãããã100 */ 276 #define ARMV6_MMU_DSCR2S_NOEXEC 0x0001U /* å®è¡ä¸å¯ */ 237 #define ARMV6_MMU_DSCR2_NONGLOBAL 0x0800U /* グローバルでない */ 238 #define ARMV6_MMU_DSCR2_SHARED 0x0400U /* プロセッサ間で共有 */ 239 #define ARMV6_MMU_DSCR2_APX0 0x0000U /* APXビットが0 */ 240 #define ARMV6_MMU_DSCR2_APX1 0x0200U /* APXビットが1 */ 241 #define ARMV6_MMU_DSCR2_AP01 0x0010U /* APビットが01 */ 242 #define ARMV6_MMU_DSCR2_AP10 0x0020U /* APビットが10 */ 243 #define ARMV6_MMU_DSCR2_AP11 0x0030U /* APビットが11 */ 244 245 /* ラージページのディスクリプタ用 */ 246 #define ARMV6_MMU_DSCR2L_TEX000 0x0000U /* TEXビットが000 */ 247 #define ARMV6_MMU_DSCR2L_TEX001 0x1000U /* TEXビットが001 */ 248 #define ARMV6_MMU_DSCR2L_TEX010 0x2000U /* TEXビットが010 */ 249 #define ARMV6_MMU_DSCR2L_TEX100 0x4000U /* TEXビットが100 */ 250 #define ARMV6_MMU_DSCR2L_NOEXEC 0x8000U /* 実行不可 */ 251 252 /* スモールページのディスクリプタ用 */ 253 #define ARMV6_MMU_DSCR2S_TEX000 0x0000U /* TEXビットが000 */ 254 #define ARMV6_MMU_DSCR2S_TEX001 0x0040U /* TEXビットが001 */ 255 #define ARMV6_MMU_DSCR2S_TEX010 0x0080U /* TEXビットが010 */ 256 #define ARMV6_MMU_DSCR2S_TEX100 0x0100U /* TEXビットが100 */ 257 #define ARMV6_MMU_DSCR2S_NOEXEC 0x0001U /* 実行不可 */ 277 258 278 259 #endif /* __TARGET_ARCH_ARM < 6 */ … … 281 262 282 263 /* 283 * ã³ããã»ããµ15ã®æä½é¢æ°284 */ 285 286 /* 287 * High exception vectors ã使ãããã«è¨å®264 * コプロセッサ15の操作関数 265 */ 266 267 /* 268 * High exception vectorsを使うように設定 288 269 */ 289 270 Inline void … … 298 279 299 280 /* 300 * Low exception vectors ã使ãããã«è¨å®281 * Low exception vectorsを使うように設定 301 282 */ 302 283 Inline void … … 311 292 312 293 /* 313 * åå²äºæ¸¬ãã¤ãã¼ãã«294 * 分岐予測をイネーブル 314 295 */ 315 296 Inline void … … 324 305 325 306 /* 326 * åå²äºæ¸¬ããã£ã¹ã¨ã¼ãã«307 * 分岐予測をディスエーブル 327 308 */ 328 309 Inline void … … 337 318 338 319 /* 339 * ããã»ããµçªå·ã®åå¾320 * プロセッサ番号の取得 340 321 * 341 * ãã«ãããã»ããµã¢ãã£ããã£ã¬ã¸ã¹ã¿ãèªãã§ï¼ãã®ä¸ä½8ããããè¿ãï¼342 * ARMv6 ã§ã¯ï¼ãã«ãããã»ããµããµãã¼ããã¦ããå ´åã«ã®ã¿ä½¿ç¨ã§ããï¼322 * マルチプロセッサアフィニティレジスタを読んで,その下位8ビットを返す. 323 * ARMv6では,マルチプロセッサをサポートしている場合にのみ使用できる. 343 324 */ 344 325 #if __TARGET_ARCH_ARM >= 6 … … 356 337 357 338 /* 358 * ãã£ãã·ã¥ã®æä½359 */ 360 361 /* 362 * å½ä»¤ï¼ãã¼ã¿ãã£ãã·ã¥ã®ã¤ãã¼ãã«ï¼ãã£ã¹ã¨ã¼ãã«339 * キャッシュの操作 340 */ 341 342 /* 343 * 命令/データキャッシュのイネーブル/ディスエーブル 363 344 */ 364 345 extern void arm_enable_icache(void); … … 368 349 369 350 /* 370 * ãã£ãã·ã¥ã®ã¤ãã¼ãã«351 * キャッシュのイネーブル 371 352 */ 372 353 Inline void … … 378 359 379 360 /* 380 * ãã£ãã·ã¥ã®ãã£ã¹ã¨ã¼ãã«361 * キャッシュのディスエーブル 381 362 */ 382 363 Inline void … … 388 369 389 370 /* 390 * ARMv5 ã«ããããã¼ã¿ãã£ãã·ã¥ã®ç¡å¹åï¼ã¯ãªã¼ã³371 * ARMv5におけるデータキャッシュの無効化/クリーン 391 372 */ 392 373 #if __TARGET_ARCH_ARM <= 5 … … 395 376 396 377 /* 397 * ARMv7 ã«ããããã¼ã¿ãã£ãã·ã¥ã®ç¡å¹åï¼ã¯ãªã¼ã³378 * ARMv7におけるデータキャッシュの無効化/クリーン 398 379 */ 399 380 #if __TARGET_ARCH_ARM == 7 … … 403 384 404 385 /* 405 * ãã¼ã¿ãã£ãã·ã¥ã¨çµ±åãã£ãã·ã¥ã®ç¡å¹å386 * データキャッシュと統合キャッシュの無効化 406 387 */ 407 388 Inline void … … 417 398 418 399 /* 419 * ãã¼ã¿ãã£ãã·ã¥ã¨çµ±åãã£ãã·ã¥ã®ã¯ãªã¼ã³ã¨ç¡å¹å400 * データキャッシュと統合キャッシュのクリーンと無効化 420 401 */ 421 402 Inline void … … 433 414 434 415 /* 435 * å½ä»¤ãã£ãã·ã¥ã®ç¡å¹å416 * 命令キャッシュの無効化 436 417 */ 437 418 Inline void … … 442 423 443 424 /* 444 * åå²äºæ¸¬ã®ç¡å¹å425 * 分岐予測の無効化 445 426 */ 446 427 Inline void … … 453 434 454 435 /* 455 * TLB ã®ç¡å¹å436 * TLBの無効化 456 437 */ 457 438 Inline void
Note:
See TracChangeset
for help on using the changeset viewer.