[dpdk-dev] [PATCH] lib/librte_eal: support SVE flag on ARM64
Ruifeng Wang
Ruifeng.Wang at arm.com
Wed Jul 22 08:35:03 CEST 2020
Hi Xavier,
> -----Original Message-----
> From: Wei Hu (Xavier) <xavier.huwei at huawei.com>
> Sent: Saturday, July 18, 2020 10:18 AM
> To: Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>;
> dev at dpdk.org
> Cc: nd <nd at arm.com>; Ruifeng Wang <Ruifeng.Wang at arm.com>; Wei Hu
> (Xavier) <xavier.huwei at huawei.com>
> Subject: Re: [dpdk-dev] [PATCH] lib/librte_eal: support SVE flag on ARM64
>
> Hi, Honnappa Nagarahalli
>
>
> On 2020/7/18 7:04, Honnappa Nagarahalli wrote:
> > Hi,
> > Thanks for the patch. Has this been tested on any platform (simulator,
> emulator etc)? Do you plan to add more code using SVE?
> We have tested it on FPGA board and will upstream some code using SVE
> later.
For completeness, cpuflags unit test also needs an update to check for the newly added SVE flag.
BTW, is there a plan to add SVE2 flag as well?
Thanks.
Ruifeng
>
> Thanks, Xavier
> > Thank you,
> > Honnappa
> >
> >> -----Original Message-----
> >> From: dev <dev-bounces at dpdk.org> On Behalf Of Wei Hu (Xavier)
> >> Sent: Friday, July 17, 2020 7:08 AM
> >> To: dev at dpdk.org
> >> Cc: xavier.huwei at huawei.com
> >> Subject: [dpdk-dev] [PATCH] lib/librte_eal: support SVE flag on ARM64
> >>
> >> From: Chengwen Feng <fengchengwen at huawei.com>
> >>
> >> SVE is the next-generation SIMD extension of the ARMv8-A AArch64
> >> instruction set.
> >> The related marco definition can be found in linux kernel:
> >> arch/arm64/include/uapi/asm/hwcap.h
> >>
> >> This patch supports getting cpu SVE feature on ARM64 platform.
> >>
> >> Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
> >> Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
> >> ---
> >> lib/librte_eal/arm/include/rte_cpuflags_64.h | 1 +
> >> lib/librte_eal/arm/rte_cpuflags.c | 1 +
> >> 2 files changed, 2 insertions(+)
> >>
> >> diff --git a/lib/librte_eal/arm/include/rte_cpuflags_64.h
> >> b/lib/librte_eal/arm/include/rte_cpuflags_64.h
> >> index 95cc014..069844d 100644
> >> --- a/lib/librte_eal/arm/include/rte_cpuflags_64.h
> >> +++ b/lib/librte_eal/arm/include/rte_cpuflags_64.h
> >> @@ -22,6 +22,7 @@ enum rte_cpu_flag_t {
> >> RTE_CPUFLAG_SHA2,
> >> RTE_CPUFLAG_CRC32,
> >> RTE_CPUFLAG_ATOMICS,
> >> + RTE_CPUFLAG_SVE,
> >> RTE_CPUFLAG_AARCH64,
> >> /* The last item */
> >> RTE_CPUFLAG_NUMFLAGS,/**< This should always be the last! */
> diff
> >> --git a/lib/librte_eal/arm/rte_cpuflags.c
> >> b/lib/librte_eal/arm/rte_cpuflags.c
> >> index caf3dc8..b1e220b 100644
> >> --- a/lib/librte_eal/arm/rte_cpuflags.c
> >> +++ b/lib/librte_eal/arm/rte_cpuflags.c
> >> @@ -95,6 +95,7 @@ const struct feature_entry rte_cpu_feature_table[]
> = {
> >> FEAT_DEF(SHA2, REG_HWCAP, 6)
> >> FEAT_DEF(CRC32, REG_HWCAP, 7)
> >> FEAT_DEF(ATOMICS, REG_HWCAP, 8)
> >> + FEAT_DEF(SVE, REG_HWCAP, 22)
> >> FEAT_DEF(AARCH64, REG_PLATFORM, 1)
> >> };
> >> #endif /* RTE_ARCH */
> >> --
> >> 2.7.4
> >
More information about the dev
mailing list