refactor(errata_abi): update the cpu structs for errata ABI
Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
Change-Id: I4650a88003db2ded9277b35c7fc521026fe4a5d7
diff --git a/include/runtime_services/errata_abi.h b/include/runtime_services/errata_abi.h
index 363564e..dc50113 100644
--- a/include/runtime_services/errata_abi.h
+++ b/include/runtime_services/errata_abi.h
@@ -37,7 +37,7 @@
*/
#define TOTAL_ABI_CALLS (3U)
-#define ERRATA_COUNT (17U)
+#define ERRATA_COUNT (32U)
typedef struct {
uint32_t id;
diff --git a/tftf/tests/runtime_services/standard_service/errata_abi/api_tests/test_errata_abi_functionality.c b/tftf/tests/runtime_services/standard_service/errata_abi/api_tests/test_errata_abi_functionality.c
index ed68b71..4381026 100644
--- a/tftf/tests/runtime_services/standard_service/errata_abi/api_tests/test_errata_abi_functionality.c
+++ b/tftf/tests/runtime_services/standard_service/errata_abi/api_tests/test_errata_abi_functionality.c
@@ -129,7 +129,9 @@
.cpu_pn = 0xD08,
.cpu_errata = {
{859971, 0x00, 0x03},
+ {1234567, 0x00, 0xFF},
{1319367, 0x00, 0xFF},
+ {9876543, 0x00, 0xFF},
{-1}
},
};
@@ -163,9 +165,11 @@
{1262606, 0x00, 0x30},
{1262888, 0x00, 0x30},
{1275112, 0x00, 0x30},
+ {1286807, 0x00, 0x30},
{1791580, 0x00, 0x40},
{1868343, 0x00, 0x40},
{1946160, 0x30, 0x41},
+ {2743102, 0x00, 0x41},
{-1}
},
};
@@ -188,10 +192,10 @@
.cpu_pn = 0xD42,
.cpu_errata = {
{1941500, 0x00, 0x01},
+ {1951502, 0x00, 0x01},
{2376748, 0x00, 0x01},
{2712574, 0x00, 0x02},
- {2376748, 0x00, 0x01},
- {1951502, 0x00, 0x01},
+ {2395408, 0x00, 0x01},
{-1}
},
};
@@ -219,11 +223,15 @@
em_cpu_t cortex_A78C_errata_list = {
.cpu_pn = 0xD4B,
.cpu_errata = {
+ {1827430, 0x00, 0x00},
+ {1827440, 0x00, 0x00},
{2132064, 0x01, 0x02},
{2242638, 0x01, 0x02},
{2376749, 0x01, 0x02},
{2395411, 0x01, 0x02},
+ {2683027, 0x01, 0x02},
{2712575, 0x01, 0x02},
+ {2743232, 0x01, 0x02},
{2772121, 0x00, 0x02},
{2779484, 0x01, 0x02},
{-1}
@@ -245,6 +253,7 @@
em_cpu_t neoverse_N1_errata_list = {
.cpu_pn = 0xD0C,
.cpu_errata = {
+ {1043202, 0x00, 0x10},
{1073348, 0x00, 0x10},
{1130799, 0x00, 0x20},
{1165347, 0x00, 0x20},
@@ -277,9 +286,11 @@
{2139242, 0x00, 0x11},
{2216392, 0x10, 0x11},
{2294912, 0x00, 0x11},
+ {2348377, 0x00, 0x11},
{2372203, 0x00, 0x11},
{2701953, 0x00, 0x11},
{2743093, 0x00, 0x12},
+ {2743233, 0x00, 0x12},
{2779461, 0x00, 0x12},
{-1}
},
@@ -303,7 +314,9 @@
{2291219, 0x00, 0x20},
{2371105, 0x00, 0x20},
{2701952, 0x00, 0x21},
+ {2742423, 0x00, 0x21},
{2768515, 0x00, 0x21},
+ {2778471, 0x00, 0x21},
{-1}
},
};
@@ -326,6 +339,7 @@
{2388450, 0x00, 0x00},
{2728475, 0x00, 0x02},
{2743089, 0x00, 0x02},
+ {2779511, 0x00, 0x02},
{-1}
},
};
@@ -343,7 +357,9 @@
{2282622, 0x00, 0x21},
{2371105, 0x00, 0x21},
{2701952, 0x00, 0x21},
+ {2742423, 0x00, 0x21},
{2768515, 0x00, 0x21},
+ {2778471, 0x00, 0x21},
{-1}
},
};
@@ -354,6 +370,7 @@
{1922240, 0x00, 0x00},
{2041909, 0x02, 0x02},
{2042739, 0x00, 0x02},
+ {2080326, 0x02, 0x02},
{2172148, 0x00, 0x10},
{2218950, 0x00, 0x10},
{2250311, 0x00, 0x10},
@@ -378,7 +395,7 @@
em_cpu_t cortex_A715_errata_list = {
.cpu_pn = 0xD4D,
.cpu_errata = {
- {2701951, 0x00, 0x11},
+ {2561034, 0x10, 0x10},
{-1}
},
};
@@ -386,11 +403,20 @@
em_cpu_t neoverse_V2_errata_list = {
.cpu_pn = 0xD4F,
.cpu_errata = {
+ {2331132, 0x00, 0x02},
+ {2618597, 0x00, 0x01},
+ {2662553, 0x00, 0x01},
{2719103, 0x00, 0x01},
+ {2719103, 0x00, 0x01},
+ {2719105, 0x00, 0x01},
+ {2743011, 0x00, 0x01},
+ {2779510, 0x00, 0x01},
+ {2801372, 0x00, 0x01},
{-1}
},
};
+
/*
* Test function checks for the em_version implemented
* - Test fails if the version returned is < 1.0.
@@ -552,25 +578,25 @@
}
case 0xD44:
{
- VERBOSE("MIDR matches X1 > %x\n", midr_val);
+ VERBOSE("MIDR matches X1 -> %x\n", midr_val);
cpu_ptr = &cortex_X1_errata_list;
break;
}
case 0xD0A:
{
- VERBOSE("MIDR matches A75 > %x\n", midr_val);
+ VERBOSE("MIDR matches A75 -> %x\n", midr_val);
cpu_ptr = &cortex_A75_errata_list;
break;
}
case 0xD05:
{
- VERBOSE("MIDR matches A55 > %x\n", midr_val);
+ VERBOSE("MIDR matches A55 -> %x\n", midr_val);
cpu_ptr = &cortex_A55_errata_list;
break;
}
case 0xD42:
{
- VERBOSE("MIDR matches A78_AE > %x\n", midr_val);
+ VERBOSE("MIDR matches A78_AE -> %x\n", midr_val);
cpu_ptr = &cortex_A78_AE_errata_list;
break;
}