33 static inline arm_release_id arm_errata_get_processor_release(
void)
35 const uint32_t MIDR = arm_cp15_get_id_code();
36 const uint8_t REVISION = (MIDR & 0xF00000U) >> 20;
37 const uint8_t PATCH_LEVEL = (MIDR & 0xFU);
39 return ARM_RELEASE_ID_FROM_NUMBER_AND_PATCH_LEVEL(
45 static inline bool arm_errata_is_applicable_processor_errata_764369(
void)
47 #if defined(RTEMS_SMP) 48 const arm_release_id RELEASE = arm_errata_get_processor_release();
49 bool is_applicable =
false;
62 case ARM_RELEASE_ID_R4_P1:
63 case ARM_RELEASE_ID_R4_P4:
64 case ARM_RELEASE_ID_R3_P0:
65 case ARM_RELEASE_ID_R2_P10:
66 case ARM_RELEASE_ID_R2_P8:
67 case ARM_RELEASE_ID_R2_P6:
68 case ARM_RELEASE_ID_R2_P4:
69 case ARM_RELEASE_ID_R2_P3:
70 case ARM_RELEASE_ID_R2_P2:
71 case ARM_RELEASE_ID_R2_P0:
75 is_applicable =
false;
85 static inline bool arm_errata_is_applicable_processor_errata_775420(
void)
87 const arm_release_id RELEASE = arm_errata_get_processor_release();
88 bool is_applicable =
false;
101 case ARM_RELEASE_ID_R2_P10:
102 case ARM_RELEASE_ID_R2_P8:
103 case ARM_RELEASE_ID_R2_P6:
104 case ARM_RELEASE_ID_R2_P4:
105 case ARM_RELEASE_ID_R2_P3:
106 case ARM_RELEASE_ID_R2_P2:
107 is_applicable =
true;
110 is_applicable =
false;
114 return is_applicable;
ARM co-processor 15 (CP15) API.
Create #defines for release IDs.