source: rtems/cpukit/score/cpu/arm/rtems/score/arm.h @ b9287a15

4.115
Last change on this file since b9287a15 was b4e8306, checked in by Sebastian Huber <sebastian.huber@…>, on 12/03/13 at 10:56:55

arm: Clear reservations

Recent GCC versions use atomic operations based on load/store exclusive
in the C++ library.

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[da215ded]1/**
[78623bce]2 * @file
3 *
[66fffc7]4 * @brief ARM Assembler Support API
[da215ded]5 */
6
[5bb38e15]7/*
[08330bf]8 *  COPYRIGHT (c) 2000 Canon Research Centre France SA.
9 *  Emmanuel Raguet, mailto:raguet@crf.canon.fr
10 *
[4f0b287]11 *  Copyright (c) 2002 Advent Networks, Inc.
12 *       Jay Monkman <jmonkman@adventnetworks.com>
13 *
[08330bf]14 *  The license and distribution terms for this file may be
15 *  found in the file LICENSE in this distribution or at
[57b8a7b6]16 *  http://www.rtems.com/license/LICENSE.
[08330bf]17 *
18 */
19
[7f70d1b7]20#ifndef _RTEMS_SCORE_ARM_H
21#define _RTEMS_SCORE_ARM_H
[08330bf]22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
[78623bce]27/**
28 * @addtogroup ScoreCPU
29 */
[b697bc6]30/**@{**/
[78623bce]31
[9dcc683]32#if defined(__ARM_ARCH_7M__)
33  #define CPU_MODEL_NAME "ARMv7M"
34  #define ARM_MULTILIB_ARCH_V7M
[08330bf]35#else
[9dcc683]36  #define CPU_MODEL_NAME "ARMv4"
37  #define ARM_MULTILIB_ARCH_V4
[08330bf]38#endif
39
[d9bd5cd6]40#if defined(__ARM_ARCH_7A__) \
41  || defined(__ARM_ARCH_7R__) \
42  || defined(__ARM_ARCH_7M__)
43  #define ARM_MULTILIB_HAS_WFI
[b4e8306]44  #define ARM_MULTILIB_HAS_LOAD_STORE_EXCLUSIVE
[d9bd5cd6]45#endif
46
[cfd8d7a]47#if defined(__ARM_NEON__)
48  #define ARM_MULTILIB_VFP_D32
49#elif !defined(__SOFTFP__)
50  #error "FPU support not implemented"
[9c59c2d9]51#endif
52
[08330bf]53/*
54 *  Define the name of the CPU family.
55 */
56
57#define CPU_NAME "ARM"
58
[78623bce]59/** @} */
60
[08330bf]61#ifdef __cplusplus
62}
63#endif
64
[f6ed46df]65#endif /* _RTEMS_SCORE_ARM_H */
Note: See TracBrowser for help on using the repository browser.