diff options
author | Ralf Kirchner <ralf.kirchner@embedded-brains.de> | 2014-04-16 16:07:13 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-17 13:25:11 +0200 |
commit | e331e69a470b597f35b1ab08eca90acdff56bb70 (patch) | |
tree | 687472923911e0ae05f92a9e99b43ff989159e2a /c/src/lib | |
parent | bsp/arm: Erratum 764369 after enabling SCU (diff) | |
download | rtems-e331e69a470b597f35b1ab08eca90acdff56bb70.tar.bz2 |
bsp/arm: RTEMS_SMP to arm erratum 764369 detection
Move the RTEMS_SMP conditional compilation to the detection method of arm erratum 764369
Diffstat (limited to 'c/src/lib')
-rw-r--r-- | c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/shared/include/arm-errata.h | 4 |
3 files changed, 8 insertions, 10 deletions
diff --git a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h index 4e8f323a64..9ecb375d70 100644 --- a/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h +++ b/c/src/lib/libbsp/arm/shared/include/arm-a9mpcore-start.h @@ -83,11 +83,9 @@ BSP_START_TEXT_SECTION static inline arm_a9mpcore_start_scu_invalidate( BSP_START_TEXT_SECTION static void inline arm_a9mpcore_start_errata_764369_handler(volatile a9mpcore_scu *scu) { -#ifdef RTEMS_SMP if (arm_errata_is_applicable_processor_errata_764369()) { scu->diagn_ctrl |= A9MPCORE_SCU_DIAGN_CTRL_MIGRATORY_BIT_DISABLE; } -#endif } BSP_START_TEXT_SECTION static inline diff --git a/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h b/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h index a0620710fb..72d3ee31cf 100644 --- a/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h +++ b/c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h @@ -46,14 +46,10 @@ extern "C" { - 1 ) /* Errata Handlers */ -#if ( defined( RTEMS_SMP ) ) - #define ARM_CACHE_L1_ERRATA_764369_HANDLER() \ - if( arm_errata_is_applicable_processor_errata_764369() ) { \ - _ARM_Data_synchronization_barrier(); \ - } -#else /* #if ( defined( RTEMS_SMP ) ) */ - #define ARM_CACHE_L1_ERRATA_764369_HANDLER() -#endif /* #if ( defined( RTEMS_SMP ) ) */ +#define ARM_CACHE_L1_ERRATA_764369_HANDLER() \ + if( arm_errata_is_applicable_processor_errata_764369() ) { \ + _ARM_Data_synchronization_barrier(); \ + } static void arm_cache_l1_select( const uint32_t selection ) diff --git a/c/src/lib/libbsp/arm/shared/include/arm-errata.h b/c/src/lib/libbsp/arm/shared/include/arm-errata.h index bfb35774d5..c58084a25b 100644 --- a/c/src/lib/libbsp/arm/shared/include/arm-errata.h +++ b/c/src/lib/libbsp/arm/shared/include/arm-errata.h @@ -47,6 +47,7 @@ static arm_release_id arm_errata_get_processor_release( #endif /* #if defined( __ARM_ARCH_7A__ ) */ #if defined( __ARM_ARCH_7A__ ) +#if ( defined( RTEMS_SMP ) ) static bool arm_errata_is_applicable_processor_errata_764369( void ) @@ -84,6 +85,9 @@ static bool arm_errata_is_applicable_processor_errata_764369( return is_applicable; } +#else + #define arm_errata_is_applicable_processor_errata_764369() false +#endif /* ( defined( RTEMS_SMP ) ) */ #endif /* #if defined( __ARM_ARCH_7A__ ) */ #if defined( __ARM_ARCH_7A__ ) |