[PATCH v2] config/arm: support ldapr on neoverse n1
Joyce Kong
joyce.kong at arm.com
Tue Mar 21 10:44:33 CET 2023
Armv8.3 introduced a LDAPR instruction that has weaker guarantees,
just sufficient to implement memory_order_acq_rel. LDAPR does not
wait for previous STLR to complete. And if the same location is
used in both, it does not force the write to be globally observed.
The new instruction can avoid some costs associated with LDAR.
GCC13.0 has supported LDAPR.
For Armv8.3 and higher, LDAPR is default.
For Armv8.2 such as neoverse n1, LDAPR is supported with enabling
rcpc feature.
For Armv8.1 and lower, LDAPR is not supported.
Signed-off-by: Joyce Kong <joyce.kong at arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
---
config/arm/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 5ff66248de..5213434ca4 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -65,7 +65,7 @@ part_number_config_arm = {
'0xd0b': {'compiler_options': ['-mcpu=cortex-a76']},
'0xd0c': {
'march': 'armv8.2-a',
- 'march_features': ['crypto'],
+ 'march_features': ['crypto', 'rcpc'],
'compiler_options': ['-mcpu=neoverse-n1'],
'flags': [
['RTE_MACHINE', '"neoverse-n1"'],
--
2.25.1
More information about the dev
mailing list