forked from Imagelibrary/rtems
bsps/arm: Do not use __ARM_ARCH_7A__
This would lead to link-time errors in case less specialized compiler machine options are used, e.g. to run the GCC test suite.
This commit is contained in:
@@ -30,31 +30,24 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#if defined( __ARM_ARCH_7A__ )
|
static inline arm_release_id arm_errata_get_processor_release(void)
|
||||||
static arm_release_id arm_errata_get_processor_release(
|
|
||||||
void
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
const uint32_t MIDR = arm_cp15_get_id_code();
|
const uint32_t MIDR = arm_cp15_get_id_code();
|
||||||
const uint8_t REVISION = (MIDR & 0xF00000U) >> 20;
|
const uint8_t REVISION = (MIDR & 0xF00000U) >> 20;
|
||||||
const uint8_t PATCH_LEVEL = (MIDR & 0xFU);
|
const uint8_t PATCH_LEVEL = (MIDR & 0xFU);
|
||||||
|
|
||||||
return ARM_RELEASE_ID_FROM_NUMBER_AND_PATCH_LEVEL(
|
return ARM_RELEASE_ID_FROM_NUMBER_AND_PATCH_LEVEL(
|
||||||
REVISION,
|
REVISION,
|
||||||
PATCH_LEVEL
|
PATCH_LEVEL
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
|
||||||
|
|
||||||
#if defined( __ARM_ARCH_7A__ )
|
static bool inline arm_errata_is_applicable_processor_errata_764369(void)
|
||||||
#if ( defined( RTEMS_SMP ) )
|
|
||||||
static bool arm_errata_is_applicable_processor_errata_764369(
|
|
||||||
void
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
|
#if defined(RTEMS_SMP)
|
||||||
const arm_release_id RELEASE = arm_errata_get_processor_release();
|
const arm_release_id RELEASE = arm_errata_get_processor_release();
|
||||||
bool is_applicable = false;
|
bool is_applicable = false;
|
||||||
|
|
||||||
/* Errata information for Cortex-A9 processors.
|
/* Errata information for Cortex-A9 processors.
|
||||||
* Information taken from ARMs
|
* Information taken from ARMs
|
||||||
* "Cortex-A series processors
|
* "Cortex-A series processors
|
||||||
@@ -64,7 +57,7 @@ static bool arm_errata_is_applicable_processor_errata_764369(
|
|||||||
* - ARM Cortex-A9 processors r4 release Software Developers Errata Notice"
|
* - ARM Cortex-A9 processors r4 release Software Developers Errata Notice"
|
||||||
* The corresponding link is: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/BABJFIBA.html
|
* The corresponding link is: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/BABJFIBA.html
|
||||||
* Please see this document for more information on these erratas */
|
* Please see this document for more information on these erratas */
|
||||||
|
|
||||||
switch( RELEASE ) {
|
switch( RELEASE ) {
|
||||||
case ARM_RELEASE_ID_R4_P1:
|
case ARM_RELEASE_ID_R4_P1:
|
||||||
case ARM_RELEASE_ID_R4_P4:
|
case ARM_RELEASE_ID_R4_P4:
|
||||||
@@ -82,22 +75,18 @@ static bool arm_errata_is_applicable_processor_errata_764369(
|
|||||||
is_applicable = false;
|
is_applicable = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
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__ )
|
return is_applicable;
|
||||||
static bool arm_errata_is_applicable_processor_errata_775420(
|
#else
|
||||||
void
|
return false;
|
||||||
)
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool arm_errata_is_applicable_processor_errata_775420(void)
|
||||||
{
|
{
|
||||||
const arm_release_id RELEASE = arm_errata_get_processor_release();
|
const arm_release_id RELEASE = arm_errata_get_processor_release();
|
||||||
bool is_applicable = false;
|
bool is_applicable = false;
|
||||||
|
|
||||||
/* Errata information for Cortex-A9 processors.
|
/* Errata information for Cortex-A9 processors.
|
||||||
* Information taken from ARMs
|
* Information taken from ARMs
|
||||||
* "Cortex-A series processors
|
* "Cortex-A series processors
|
||||||
@@ -107,7 +96,7 @@ static bool arm_errata_is_applicable_processor_errata_775420(
|
|||||||
* - ARM Cortex-A9 processors r4 release Software Developers Errata Notice"
|
* - ARM Cortex-A9 processors r4 release Software Developers Errata Notice"
|
||||||
* The corresponding link is: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/BABJFIBA.html
|
* The corresponding link is: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0360f/BABJFIBA.html
|
||||||
* Please see this document for more information on these erratas */
|
* Please see this document for more information on these erratas */
|
||||||
|
|
||||||
switch( RELEASE ) {
|
switch( RELEASE ) {
|
||||||
case ARM_RELEASE_ID_R2_P10:
|
case ARM_RELEASE_ID_R2_P10:
|
||||||
case ARM_RELEASE_ID_R2_P8:
|
case ARM_RELEASE_ID_R2_P8:
|
||||||
@@ -120,13 +109,12 @@ static bool arm_errata_is_applicable_processor_errata_775420(
|
|||||||
is_applicable = false;
|
is_applicable = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return is_applicable;
|
return is_applicable;
|
||||||
}
|
}
|
||||||
#endif /* #if defined( __ARM_ARCH_7A__ ) */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
#endif /* ARM_ERRATA_H_ */
|
#endif /* ARM_ERRATA_H_ */
|
||||||
|
|||||||
Reference in New Issue
Block a user