forked from Imagelibrary/rtems
bsp/arm: RTEMS_SMP to arm erratum 764369 detection
Move the RTEMS_SMP conditional compilation to the detection method of arm erratum 764369
This commit is contained in:
committed by
Sebastian Huber
parent
707b617294
commit
e331e69a47
@@ -83,11 +83,9 @@ BSP_START_TEXT_SECTION static inline arm_a9mpcore_start_scu_invalidate(
|
|||||||
BSP_START_TEXT_SECTION static void inline
|
BSP_START_TEXT_SECTION static void inline
|
||||||
arm_a9mpcore_start_errata_764369_handler(volatile a9mpcore_scu *scu)
|
arm_a9mpcore_start_errata_764369_handler(volatile a9mpcore_scu *scu)
|
||||||
{
|
{
|
||||||
#ifdef RTEMS_SMP
|
|
||||||
if (arm_errata_is_applicable_processor_errata_764369()) {
|
if (arm_errata_is_applicable_processor_errata_764369()) {
|
||||||
scu->diagn_ctrl |= A9MPCORE_SCU_DIAGN_CTRL_MIGRATORY_BIT_DISABLE;
|
scu->diagn_ctrl |= A9MPCORE_SCU_DIAGN_CTRL_MIGRATORY_BIT_DISABLE;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
BSP_START_TEXT_SECTION static inline
|
BSP_START_TEXT_SECTION static inline
|
||||||
|
|||||||
@@ -46,14 +46,10 @@ extern "C" {
|
|||||||
- 1 )
|
- 1 )
|
||||||
|
|
||||||
/* Errata Handlers */
|
/* Errata Handlers */
|
||||||
#if ( defined( RTEMS_SMP ) )
|
#define ARM_CACHE_L1_ERRATA_764369_HANDLER() \
|
||||||
#define ARM_CACHE_L1_ERRATA_764369_HANDLER() \
|
|
||||||
if( arm_errata_is_applicable_processor_errata_764369() ) { \
|
if( arm_errata_is_applicable_processor_errata_764369() ) { \
|
||||||
_ARM_Data_synchronization_barrier(); \
|
_ARM_Data_synchronization_barrier(); \
|
||||||
}
|
}
|
||||||
#else /* #if ( defined( RTEMS_SMP ) ) */
|
|
||||||
#define ARM_CACHE_L1_ERRATA_764369_HANDLER()
|
|
||||||
#endif /* #if ( defined( RTEMS_SMP ) ) */
|
|
||||||
|
|
||||||
|
|
||||||
static void arm_cache_l1_select( const uint32_t selection )
|
static void arm_cache_l1_select( const uint32_t selection )
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ static arm_release_id arm_errata_get_processor_release(
|
|||||||
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
||||||
|
|
||||||
#if defined( __ARM_ARCH_7A__ )
|
#if defined( __ARM_ARCH_7A__ )
|
||||||
|
#if ( defined( RTEMS_SMP ) )
|
||||||
static bool arm_errata_is_applicable_processor_errata_764369(
|
static bool arm_errata_is_applicable_processor_errata_764369(
|
||||||
void
|
void
|
||||||
)
|
)
|
||||||
@@ -84,6 +85,9 @@ static bool arm_errata_is_applicable_processor_errata_764369(
|
|||||||
|
|
||||||
return is_applicable;
|
return is_applicable;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define arm_errata_is_applicable_processor_errata_764369() false
|
||||||
|
#endif /* ( defined( RTEMS_SMP ) ) */
|
||||||
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
||||||
|
|
||||||
#if defined( __ARM_ARCH_7A__ )
|
#if defined( __ARM_ARCH_7A__ )
|
||||||
|
|||||||
Reference in New Issue
Block a user