config/arm: check SVE CPU flag
authorChengwen Feng <fengchengwen@huawei.com>
Fri, 21 May 2021 03:33:54 +0000 (11:33 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 23 Jun 2021 07:32:39 +0000 (09:32 +0200)
If compiled with SVE feature (e.g. "-march=armv8.2-a+sve'), the binary
could not run on non-SVE platform else it will encounter illegal
instruction [1].

This patch fixes it by adding 'RTE_CPUFLAG_SVE' to compile_time_cpuflags,
so that rte_cpu_is_supported() will print meaningful log under above
situation.

[1] http://mails.dpdk.org/archives/dev/2021-May/209124.html

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
config/arm/meson.build

index e83a56e..9b147c0 100644 (file)
@@ -480,6 +480,10 @@ if (cc.get_define('__ARM_NEON', args: machine_args) != '' or
     compile_time_cpuflags += ['RTE_CPUFLAG_NEON']
 endif
 
+if cc.get_define('__ARM_FEATURE_SVE', args: machine_args) != ''
+    compile_time_cpuflags += ['RTE_CPUFLAG_SVE']
+endif
+
 if cc.get_define('__ARM_FEATURE_CRC32', args: machine_args) != ''
     compile_time_cpuflags += ['RTE_CPUFLAG_CRC32']
 endif