Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/arch/arm_gcc/common/arm.h

    r321 r429  
    55 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    66 *                              Toyohashi Univ. of Technology, JAPAN
    7  *  Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory
     7 *  Copyright (C) 2006-2019 by Embedded and Real-Time Systems Laboratory
    88 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    99 *
     
    5353 */
    5454#ifndef TOPPERS_MACRO_ONLY
    55 #ifndef TECSGEN
    56 #include "arm_insn.h"                           /* tecsgenが解釈できないためスキップ */
    57 #endif /* TECSGEN */
     55#include "arm_insn.h"
    5856#endif /*  TOPPERS_MACRO_ONLY */
    5957
     
    117115#define CP15_SCTLR_DCACHE               UINT_C(0x00000004)
    118116#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)
    119125
    120126/*
     
    193199#define ARM_MMU_DSCR1_TEX010            0x02000U        /* TEXビットが010 */
    194200#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 */
    198201#define ARM_MMU_DSCR1_CB00                      0x00000U        /* Cビットが0,Bビットが0 */
    199202#define ARM_MMU_DSCR1_CB01                      0x00004U        /* Cビットが0,Bビットが1 */
     
    201204#define ARM_MMU_DSCR1_CB11                      0x0000cU        /* Cビットが1,Bビットが1 */
    202205
    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
    204214#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 */
    207221#define ARMV6_MMU_DSCR1_ECC                     0x00200U        /* ECCが有効(MPCore)*/
    208222#define ARMV6_MMU_DSCR1_NOEXEC          0x00010U        /* 実行不可 */
    209 #endif /* __TARGET_ARCH_ARM >= 6 */
     223
     224#endif /* __TARGET_ARCH_ARM < 6 */
    210225
    211226/*
     
    237252#define ARMV6_MMU_DSCR2_NONGLOBAL       0x0800U         /* グローバルでない */
    238253#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 */
    244260
    245261/* ラージページのディスクリプタ用 */
     
    318334
    319335/*
    320  *  プロセッサ番号の取得
     336 *  自プロセッサのインデックス(0オリジン)の取得
    321337 *
    322  *  マルチプロセッサアフィニティレジスタを読んで,その下位8ビットを返す.
    323  *  ARMv6では,マルチプロセッサをサポートしている場合にのみ使用できる.
     338 *  マルチプロセッサアフィニティレジスタを読んで,その下位8ビットを返
     339 *  す.ARMv6では,マルチプロセッサをサポートしている場合にのみ使用で
     340 *  きる.
    324341 */
    325342#if __TARGET_ARCH_ARM >= 6
    326343
    327 Inline uint32_t
    328 arm_prc_index(void)
     344Inline uint_t
     345get_my_prcidx(void)
    329346{
    330347        uint32_t        reg;
    331348
    332349        CP15_READ_MPIDR(reg);
    333         return(reg & 0xffU);
     350        return((uint_t)(reg & 0xffU));
    334351}
    335352
     
    444461
    445462#endif /* TOPPERS_MACRO_ONLY */
     463
     464/*
     465 *  浮動小数点例外制御レジスタ(FPEXC)の設定値
     466 */
     467#define FPEXC_ENABLE            UINT_C(0x40000000)
     468
    446469#endif /* TOPPERS_ARM_H */
Note: See TracChangeset for help on using the changeset viewer.