Changeset 429 for EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/arm.h
- Timestamp:
- Jul 3, 2020, 7:19:17 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/arm.h
r321 r429 5 5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory 6 6 * Toyohashi Univ. of Technology, JAPAN 7 * Copyright (C) 2006-201 6by Embedded and Real-Time Systems Laboratory7 * Copyright (C) 2006-2019 by Embedded and Real-Time Systems Laboratory 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * … … 53 53 */ 54 54 #ifndef TOPPERS_MACRO_ONLY 55 #ifndef TECSGEN 56 #include "arm_insn.h" /* tecsgenが解釈できないためスキップ */ 57 #endif /* TECSGEN */ 55 #include "arm_insn.h" 58 56 #endif /* TOPPERS_MACRO_ONLY */ 59 57 … … 117 115 #define CP15_SCTLR_DCACHE UINT_C(0x00000004) 118 116 #define CP15_SCTLR_MMU UINT_C(0x00000001) 117 118 /* 119 * CP15のコプロセッサアクセス制御レジスタ(CPACR)の設定値 120 */ 121 #define CP15_CPACR_ASEDIS UINT_C(0x80000000) 122 #define CP15_CPACR_D32DIS UINT_C(0x40000000) 123 #define CP15_CPACR_CP11_FULLACCESS UINT_C(0x00c00000) 124 #define CP15_CPACR_CP10_FULLACCESS UINT_C(0x00300000) 119 125 120 126 /* … … 193 199 #define ARM_MMU_DSCR1_TEX010 0x02000U /* TEXビットが010 */ 194 200 #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 201 #define ARM_MMU_DSCR1_CB00 0x00000U /* Cビットが0,Bビットが0 */ 199 202 #define ARM_MMU_DSCR1_CB01 0x00004U /* Cビットが0,Bビットが1 */ … … 201 204 #define ARM_MMU_DSCR1_CB11 0x0000cU /* Cビットが1,Bビットが1 */ 202 205 203 #if __TARGET_ARCH_ARM >= 6 206 #if __TARGET_ARCH_ARM < 6 207 208 #define ARMV5_MMU_DSCR1_AP01 0x00400U /* APビットが01 */ 209 #define ARMV5_MMU_DSCR1_AP10 0x00800U /* APビットが10 */ 210 #define ARMV5_MMU_DSCR1_AP11 0x00c00U /* APビットが11 */ 211 212 #else /* __TARGET_ARCH_ARM < 6 */ 213 204 214 #define ARMV6_MMU_DSCR1_NONGLOBAL 0x20000U /* グローバルでない */ 205 #define ARMV6_MMU_DSCR1_APX0 0x00000U /* APXビットが0 */ 206 #define ARMV6_MMU_DSCR1_APX1 0x08000U /* APXビットが1 */ 215 #define ARMV6_MMU_DSCR1_AP001 0x00400 /* APビットが001 */ 216 #define ARMV6_MMU_DSCR1_AP010 0x00800 /* APビットが010 */ 217 #define ARMV6_MMU_DSCR1_AP011 0x00c00 /* APビットが011 */ 218 #define ARMV6_MMU_DSCR1_AP101 0x08400 /* APビットが101 */ 219 #define ARMV6_MMU_DSCR1_AP110 0x08800 /* APビットが110 */ 220 #define ARMV6_MMU_DSCR1_AP111 0x08c00 /* APビットが111 */ 207 221 #define ARMV6_MMU_DSCR1_ECC 0x00200U /* ECCが有効(MPCore)*/ 208 222 #define ARMV6_MMU_DSCR1_NOEXEC 0x00010U /* 実行不可 */ 209 #endif /* __TARGET_ARCH_ARM >= 6 */ 223 224 #endif /* __TARGET_ARCH_ARM < 6 */ 210 225 211 226 /* … … 237 252 #define ARMV6_MMU_DSCR2_NONGLOBAL 0x0800U /* グローバルでない */ 238 253 #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 */ 254 #define ARMV6_MMU_DSCR2_AP001 0x0010 /* APビットが001 */ 255 #define ARMV6_MMU_DSCR2_AP010 0x0020 /* APビットが010 */ 256 #define ARMV6_MMU_DSCR2_AP011 0x0030 /* APビットが011 */ 257 #define ARMV6_MMU_DSCR2_AP101 0x0210 /* APビットが101 */ 258 #define ARMV6_MMU_DSCR2_AP110 0x0220 /* APビットが110 */ 259 #define ARMV6_MMU_DSCR2_AP111 0x0230 /* APビットが111 */ 244 260 245 261 /* ラージページのディスクリプタ用 */ … … 318 334 319 335 /* 320 * プロセッサ番号の取得336 * 自プロセッサのインデックス(0オリジン)の取得 321 337 * 322 * マルチプロセッサアフィニティレジスタを読んで,その下位8ビットを返す. 323 * ARMv6では,マルチプロセッサをサポートしている場合にのみ使用できる. 338 * マルチプロセッサアフィニティレジスタを読んで,その下位8ビットを返 339 * す.ARMv6では,マルチプロセッサをサポートしている場合にのみ使用で 340 * きる. 324 341 */ 325 342 #if __TARGET_ARCH_ARM >= 6 326 343 327 Inline uint 32_t328 arm_prc_index(void)344 Inline uint_t 345 get_my_prcidx(void) 329 346 { 330 347 uint32_t reg; 331 348 332 349 CP15_READ_MPIDR(reg); 333 return( reg & 0xffU);350 return((uint_t)(reg & 0xffU)); 334 351 } 335 352 … … 444 461 445 462 #endif /* TOPPERS_MACRO_ONLY */ 463 464 /* 465 * 浮動小数点例外制御レジスタ(FPEXC)の設定値 466 */ 467 #define FPEXC_ENABLE UINT_C(0x40000000) 468 446 469 #endif /* TOPPERS_ARM_H */
Note:
See TracChangeset
for help on using the changeset viewer.