From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v10 3/3] iFPGA: Add Intel FPGA BUS Rawdev Driver Date: Wed, 09 May 2018 16:47:11 +0200 Message-ID: <2225742.ccNGmmKHOr@xps> References: <1521553556-62982-1-git-send-email-rosen.xu@intel.com> <1525851801-16101-1-git-send-email-rosen.xu@intel.com> <1525851801-16101-4-git-send-email-rosen.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, roy.fan.zhang@intel.com, declan.doherty@intel.com, bruce.richardson@intel.com, shreyansh.jain@nxp.com, ferruh.yigit@intel.com, konstantin.ananyev@intel.com, tianfei.zhang@intel.com, song.liu@intel.com, hao.wu@intel.com, gaetan.rivet@6wind.com, Yanglong Wu To: "Xu, Rosen" Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 097CD1B6A1 for ; Wed, 9 May 2018 16:47:15 +0200 (CEST) In-Reply-To: <1525851801-16101-4-git-send-email-rosen.xu@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 09/05/2018 09:43, Xu, Rosen: > From: Rosen Xu > > Add Intel FPGA BUS Rawdev Driver which is based on > librte_rawdev library. > > Signed-off-by: Rosen Xu > Signed-off-by: Yanglong Wu > Signed-off-by: Tianfei Zhang > Acked-by: Shreyansh Jain I have a compilation error: drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c:10:15: error: instruction requires: AVX-512 ISA because of vmovdqu64: #if defined(RTE_ARCH_X86_64) static inline void copy512(const void *src, void *dst) { asm volatile("vmovdqu64 (%0), %%zmm0;" "vmovntdq %%zmm0, (%1);" : : "r"(src), "r"(dst)); } #else static inline void copy512(const void *src, void *dst) { UNUSED(src); UNUSED(dst); WARN_ON(1); } #endif I suggest to fix it quickly without waiting a v11 with this: static inline void copy512(const void *src, void *dst) { #ifdef CC_SUPPORT_AVX512F asm volatile("vmovdqu64 (%0), %%zmm0;" "vmovntdq %%zmm0, (%1);" : : "r"(src), "r"(dst)); #else UNUSED(src); UNUSED(dst); WARN_ON(1); #endif } It does not make any runtime detection, but it's better than previously.