From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 19A1B465C0; Fri, 18 Apr 2025 11:10:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DDA5A40A84; Fri, 18 Apr 2025 11:07:51 +0200 (CEST) Received: from mail-m16.vip.163.com (mail-m16.vip.163.com [1.95.21.5]) by mails.dpdk.org (Postfix) with ESMTP id 63BC240A70 for ; Fri, 18 Apr 2025 11:07:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vip.163.com; s=s110527; h=From:Subject:Date:Message-ID: MIME-Version; bh=cMUet+Nv//nH4B3Wr8uTxoP+VGoJA9c/IKt2iqBRRwY=; b=RtapIMToTt7fCheJESCd4ajLVkgTsvBFrpqdZ/2tUf5FT93wL3cRszdPfyZIC4 NUdzT4JPoWC7wFocT7nZw5Qhg/g1P70j9dd2syo68CG6tJCKzIUW43Zk2EMqGUK+ c70TLtK2YyODho7JXCrkrcvb4MT+dWU4O2/5wAd7iV6cg= Received: from localhost.localdomain (unknown [114.116.198.59]) by gzsmtp2 (Coremail) with SMTP id As8vCgDXqJVFFgJorqzGAg--.15042S22; Fri, 18 Apr 2025 17:07:44 +0800 (CST) From: Feifei Wang To: dev@dpdk.org Cc: Yi Chen , Xin Wang , Feifei Wang Subject: [RFC 18/18] drivers/net: add hinic3 PMD build and doc files Date: Fri, 18 Apr 2025 17:06:04 +0800 Message-ID: <20250418090621.9638-19-wff_light@vip.163.com> X-Mailer: git-send-email 2.47.0.windows.2 In-Reply-To: <20250418090621.9638-1-wff_light@vip.163.com> References: <20250418090621.9638-1-wff_light@vip.163.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: As8vCgDXqJVFFgJorqzGAg--.15042S22 X-Coremail-Antispam: 1Uf129KBjvJXoWxCry7tr1UGw17KrW7Aw4fXwb_yoWrXrW8pa 18Ga4S9r48Xr4xt3Z3A3WxAF4Fya18Ca4jkw13Ca4rZryDAFy5A3y8KFW8Kr97tw1IyF1f uFnxu3sxKFs8tw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jSXdUUUUUU= X-Originating-IP: [114.116.198.59] X-CM-SenderInfo: pziiszhljk3qxylshiywtou0bp/1tbiBBQzCmgB4urg3QAAs1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Yi Chen The meson.build file is added to this patch to enable the hinic3 compilation function. Signed-off-by: Yi Chen Reviewed-by: Xin Wang Reviewed-by: Feifei Wang --- doc/guides/nics/features/hinic3.ini | 9 ++++++ drivers/net/hinic3/base/meson.build | 50 +++++++++++++++++++++++++++++ drivers/net/hinic3/meson.build | 44 +++++++++++++++++++++++++ drivers/net/meson.build | 1 + 4 files changed, 104 insertions(+) create mode 100644 doc/guides/nics/features/hinic3.ini create mode 100644 drivers/net/hinic3/base/meson.build create mode 100644 drivers/net/hinic3/meson.build diff --git a/doc/guides/nics/features/hinic3.ini b/doc/guides/nics/features/hinic3.ini new file mode 100644 index 0000000000..8bafd49090 --- /dev/null +++ b/doc/guides/nics/features/hinic3.ini @@ -0,0 +1,9 @@ +; +; Supported features of the 'hinic3' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +Linux = Y +x86-64 = Y +ARMv8 = Y diff --git a/drivers/net/hinic3/base/meson.build b/drivers/net/hinic3/base/meson.build new file mode 100644 index 0000000000..948f5efac2 --- /dev/null +++ b/drivers/net/hinic3/base/meson.build @@ -0,0 +1,50 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2025 Huawei Technologies Co., Ltd + +sources = files( + 'hinic3_cmdq.c', + 'hinic3_eqs.c', + 'hinic3_hw_cfg.c', + 'hinic3_hw_comm.c', + 'hinic3_hwdev.c', + 'hinic3_hwif.c', + 'hinic3_mbox.c', + 'hinic3_mgmt.c', + 'hinic3_nic_cfg.c', + 'hinic3_nic_event.c', + 'hinic3_wq.c', +) + +extra_flags = [] + +# The driver runs only on arch64 machine, remove 32bit warnings +if not dpdk_conf.get('RTE_ARCH_64') + extra_flags += [ + '-Wno-int-to-pointer-cast', + '-Wno-pointer-to-int-cast', + ] +endif + +foreach flag: extra_flags + if cc.has_argument(flag) + cflags += flag + endif +endforeach + +deps += ['hash'] +c_args = cflags +includes += include_directories('../') + +base_lib = static_library( + 'spnic_base', + sources, + dependencies: [ + static_rte_eal, + static_rte_ethdev, + static_rte_bus_pci, + static_rte_hash, + ], + include_directories: includes, + c_args: c_args, +) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/hinic3/meson.build b/drivers/net/hinic3/meson.build new file mode 100644 index 0000000000..231e966b36 --- /dev/null +++ b/drivers/net/hinic3/meson.build @@ -0,0 +1,44 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2025 Huawei Technologies Co., Ltd + +if not is_linux + build = false + reason = 'only supported on Linux' + subdir_done() +endif + +if (arch_subdir != 'x86' and arch_subdir != 'arm' + or not dpdk_conf.get('RTE_ARCH_64')) + build = false + reason = 'only supported on x86_64 and aarch64' + subdir_done() +endif + +cflags += [ + '-DHW_CONVERT_ENDIAN', + '-D__HINIC_HUAWEI_SECUREC__', + '-fPIC', + '-fstack-protector-strong', +] + +subdir('base') +subdir('mml') +objs = [base_objs] + [mml_objs] + +sources = files( + 'hinic3_ethdev.c', + 'hinic3_fdir.c', + 'hinic3_flow.c', + 'hinic3_nic_io.c', + 'hinic3_rx.c', + 'hinic3_tx.c', +) + +if arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') + cflags += ['-D__ARM64_NEON__'] +else + cflags += ['-D__X86_64_SSE__'] +endif + +includes += include_directories('base') +includes += include_directories('mml') diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 460eb69e5b..b5442349d4 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -23,6 +23,7 @@ drivers = [ 'failsafe', 'gve', 'hinic', + 'hinic3', 'hns3', 'intel/e1000', 'intel/fm10k', -- 2.47.0.windows.2