[rtems commit] bsp/arm: RTEMS_SMP to arm erratum 764369 detection
Sebastian Huber
sebh at rtems.org
Thu Apr 17 11:21:10 UTC 2014
Module: rtems
Branch: master
Commit: e331e69a470b597f35b1ab08eca90acdff56bb70
Changeset: http://git.rtems.org/rtems/commit/?id=e331e69a470b597f35b1ab08eca90acdff56bb70
Author: Ralf Kirchner <ralf.kirchner at embedded-brains.de>
Date: Wed Apr 16 16:07:13 2014 +0200
bsp/arm: RTEMS_SMP to arm erratum 764369 detection
Move the RTEMS_SMP conditional compilation to the detection method of arm erratum 764369
---
.../libbsp/arm/shared/include/arm-a9mpcore-start.h | 2 --
c/src/lib/libbsp/arm/shared/include/arm-cache-l1.h | 12 ++++--------
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 4e8f323..9ecb375 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 a062071..72d3ee3 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 bfb3577..c58084a 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__ )
More information about the vc
mailing list