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 B1B8745882 for ; Wed, 28 Aug 2024 09:28:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6D50741109; Wed, 28 Aug 2024 09:28:56 +0200 (CEST) Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mails.dpdk.org (Postfix) with ESMTP id 325D440265 for ; Wed, 28 Aug 2024 09:28:50 +0200 (CEST) Received: from loongson.cn (unknown [10.40.64.71]) by gateway (Coremail) with SMTP id _____8Bxnpur0c5mu4AiAA--.44278S3; Wed, 28 Aug 2024 15:28:43 +0800 (CST) Received: from localhost.localdomain (unknown [10.40.64.71]) by front1 (Coremail) with SMTP id qMiowMCxB2al0c5mjE0lAA--.2320S3; Wed, 28 Aug 2024 15:28:37 +0800 (CST) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by localhost.localdomain (8.15.2/8.15.2) with ESMTPS id 47S6xmMG2338160 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Wed, 28 Aug 2024 14:59:48 +0800 Received: (from root@localhost) by localhost.localdomain (8.15.2/8.15.2/Submit) id 47S6xjPr2338159; Wed, 28 Aug 2024 14:59:45 +0800 Date: Wed, 28 Aug 2024 14:59:45 +0800 From: qemudev@loongson.cn Message-Id: <202408280659.47S6xjPr2338159@localhost.localdomain> Content-Type: text/plain; charset="utf-8" Subject: |FAILURE| pw143419-143420 [PATCH v1 2/2] net/zxdh: provided zxdh basic init In-Reply-To: <20240828072526.2777230-1-wang.junlong1@zte.com.cn> References: <20240828072526.2777230-1-wang.junlong1@zte.com.cn> To: test-report@dpdk.org Cc: Junlong Wang , zhoumin@loongson.cn X-CM-TRANSID: qMiowMCxB2al0c5mjE0lAA--.2320S3 X-CM-SenderInfo: pthp3vthy6z05rqj20fqof0/1tbiAQEDD2bNwPYRygAAsK X-Coremail-Antispam: 1Uk129KBj9fXoWkGFW5Cr1DCF48WFykKFy5Jrc_yoWDWFy5Co WfX3W3ta95JFyxJr1kWwn3WFs0vr93Grn8Aa13AFn0grW5tF1ayF10qF4xJa15tw18Jw1k Aa4UJF17J345tF1kl-sFpf9Il3svdjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8wcxFpf 9Il3svdxBIdaVrn0xqx4xG64xvF2IEw4CE5I8CrVC2j2Jv73VFW2AGmfu7bjvjm3AaLaJ3 UjIYCTnIWjp_UUUYb7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI 8IcIk0rVWrJVCq3wAFIxvE14AKwVWUGVWUXwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xG Y2AK021l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF7I0E14 v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7CjxVAF wI0_Gr1j6F4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI 0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280 aVAFwI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4kE6xkIj40Ew7xC0wCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jrv_JF1lIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07joKZJUUUUU= X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Test-Label: loongarch-compilation Test-Status: FAILURE http://dpdk.org/patch/143420 _ninja build failure_ Submitter: Junlong Wang Date: Wed, 28 Aug 2024 15:25:09 +0800 DPDK git baseline: Repo:dpdk-next-net Branch: main CommitID: 334bda1613888c26e6345dab3f2522e54087e808 143419-143420 --> ninja build failed Test environment and result as below: +---------------------+----------------+ | Environment | compilation | +---------------------+----------------+ | Loongnix-Server 8.3 | FAIL | +---------------------+----------------+ Loongnix-Server 8.3 Kernel: 4.19.190+ Compiler: gcc 8.3 Ninja build logs: -------------------------------BEGIN LOGS---------------------------- FAILED: drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_msg.c.o cc -Idrivers/libtmp_rte_net_zxdh.a.p -Idrivers -I../drivers -Idrivers/net/zxdh -I../drivers/net/zxdh -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/loongarch/include -I../lib/eal/loongarch/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-extern s -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=loongarch64 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.zxdh -MD -MQ drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_msg.c.o -MF drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_msg.c.o.d -o drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_msg.c.o -c ../drivers/net/zxdh/zxdh_msg.c In file included from ../drivers/net/zxdh/zxdh_msg.c:11: ./drivers/net/zxdh/zxdh_msg.c: In function ‘__bar_chan_reg_write’: ./drivers/net/zxdh/zxdh_msg.c:324:38: error: expected ‘)’ before ‘PRIu64’ PMD_MSG_LOG(ERR, "write addr: 0x%" PRIu64 " + %" PRIu64 "", ^~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:24: note: in definition of macro ‘PMD_MSG_LOG’ "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:324:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, "write addr: 0x%" PRIu64 " + %" PRIu64 "", ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:17: note: format string is defined here "offload_zxdh %s(): " fmt "n", __func__, ## args) ~^ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: spurious trailing ‘%’ in format [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:324:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, "write addr: 0x%" PRIu64 " + %" PRIu64 "", ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:324:35: note: format string is defined here PMD_MSG_LOG(ERR, "write addr: 0x%" PRIu64 " + %" PRIu64 "", ^ In file included from ../drivers/net/zxdh/zxdh_msg.c:11: ./drivers/net/zxdh/zxdh_msg.c: In function ‘__bar_chan_reg_read’: ./drivers/net/zxdh/zxdh_msg.c:336:37: error: expected ‘)’ before ‘PRIu64’ PMD_MSG_LOG(ERR, "read addr: 0x%" PRIu64 " + 0x%" PRIu64 "", ^~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:24: note: in definition of macro ‘PMD_MSG_LOG’ "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:336:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, "read addr: 0x%" PRIu64 " + 0x%" PRIu64 "", ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:17: note: format string is defined here "offload_zxdh %s(): " fmt "n", __func__, ## args) ~^ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: spurious trailing ‘%’ in format [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:336:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, "read addr: 0x%" PRIu64 " + 0x%" PRIu64 "", ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:336:34: note: format string is defined here PMD_MSG_LOG(ERR, "read addr: 0x%" PRIu64 " + 0x%" PRIu64 "", ^ In file included from ../drivers/net/zxdh/zxdh_msg.c:11: ./drivers/net/zxdh/zxdh_msg.c: In function ‘__bar_chan_send_para_check’: ./drivers/net/zxdh/zxdh_msg.c:523:27: error: expected ‘)’ before ‘PRIu64’ "recv buffer's len: %" PRIu64 " is short than mininal 4 bytesn", ^~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:24: note: in definition of macro ‘PMD_MSG_LOG’ "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:522:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_logs.h:35:17: note: format string is defined here "offload_zxdh %s(): " fmt "n", __func__, ## args) ~^ ./drivers/net/zxdh/zxdh_logs.h:35:2: warning: spurious trailing ‘%’ in format [-Wformat=] "offload_zxdh %s(): " fmt "n", __func__, ## args) ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:522:3: note: in expansion of macro ‘PMD_MSG_LOG’ PMD_MSG_LOG(ERR, ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_msg.c:523:24: note: format string is defined here "recv buffer's len: %" PRIu64 " is short than mininal 4 bytesn", ^ ./drivers/net/zxdh/zxdh_msg.c: In function ‘__bar_msg_sync_msg_proc’: ./drivers/net/zxdh/zxdh_msg.c:857:25: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] uint8_t *reps_buffer = malloc(BAR_MSG_PAYLOAD_MAX_LEN); ^~~~~~ ./drivers/net/zxdh/zxdh_msg.c:857:25: warning: incompatible implicit declaration of built-in function ‘malloc’ ./drivers/net/zxdh/zxdh_msg.c:857:25: note: include ‘’ or provide a declaration of ‘malloc’ ./drivers/net/zxdh/zxdh_msg.c:13:1: +#include ./drivers/net/zxdh/zxdh_msg.c:857:25: uint8_t *reps_buffer = malloc(BAR_MSG_PAYLOAD_MAX_LEN); ^~~~~~ ./drivers/net/zxdh/zxdh_msg.c:871:2: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration] free(reps_buffer); ^~~~ ./drivers/net/zxdh/zxdh_msg.c:871:2: warning: incompatible implicit declaration of built-in function ‘free’ ./drivers/net/zxdh/zxdh_msg.c:871:2: note: include ‘’ or provide a declaration of ‘free’ ./drivers/net/zxdh/zxdh_msg.c: In function ‘zxdh_bar_irq_recv’: ./drivers/net/zxdh/zxdh_msg.c:915:24: warning: incompatible implicit declaration of built-in function ‘malloc’ uint8_t *recved_msg = malloc(msg_header.len); ^~~~~~ ./drivers/net/zxdh/zxdh_msg.c:915:24: note: include ‘’ or provide a declaration of ‘malloc’ ./drivers/net/zxdh/zxdh_msg.c:936:2: warning: incompatible implicit declaration of built-in function ‘free’ free(recved_msg); ^~~~ ./drivers/net/zxdh/zxdh_msg.c:936:2: note: include ‘’ or provide a declaration of ‘free’ [1704/2542] Compiling C object drivers/librte_net_softnic.a.p/meson-generated_.._rte_net_softnic.pmd.c.o [1705/2542] Compiling C object drivers/librte_net_softnic.so.25.0.p/meson-generated_.._rte_net_softnic.pmd.c.o [1706/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_user_vhost_kernel.c.o [1707/2542] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_common.c.o [1708/2542] Generating rte_net_octeontx.sym_chk with a custom command (wrapped by meson to capture output) [1709/2542] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_flow.c.o [1710/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_user_vhost_vdpa.c.o [1711/2542] Generating rte_net_vdev_netvsc.pmd.c with a custom command [1712/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_user_vhost_user.c.o [1713/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtqueue.c.o [1714/2542] Compiling C object drivers/net/txgbe/base/libtxgbe_base.a.p/txgbe_phy.c.o [1715/2542] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_pci.c.o [1716/2542] Compiling C object drivers/net/qede/base/libqede_base.a.p/ecore_sriov.c.o [1717/2542] Compiling C object drivers/libtmp_rte_net_tap.a.p/net_tap_rte_eth_tap.c.o [1718/2542] Generating rte_net_nfp.pmd.c with a custom command [1719/2542] Compiling C object drivers/libtmp_rte_net_ngbe.a.p/net_ngbe_ngbe_rxtx.c.o [1720/2542] Compiling C object drivers/libtmp_rte_net_qede.a.p/net_qede_qede_rxtx.c.o [1721/2542] Generating rte_net_ring.sym_chk with a custom command (wrapped by meson to capture output) [1722/2542] Compiling C object drivers/net/txgbe/base/libtxgbe_base.a.p/txgbe_hw.c.o [1723/2542] Compiling C object drivers/net/qede/base/libqede_base.a.p/ecore_dev.c.o [1724/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_user_virtio_user_dev.c.o [1725/2542] Compiling C object drivers/libtmp_rte_net_thunderx.a.p/net_thunderx_nicvf_ethdev.c.o [1726/2542] Compiling C object drivers/libtmp_rte_net_vhost.a.p/net_vhost_rte_eth_vhost.c.o [1727/2542] Generating rte_net_ixgbe.pmd.c with a custom command [1728/2542] Compiling C object drivers/libtmp_rte_net_vmxnet3.a.p/net_vmxnet3_vmxnet3_ethdev.c.o [1729/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_ethdev.c.o [1730/2542] Compiling C object drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev.c.o FAILED: drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev.c.o cc -Idrivers/libtmp_rte_net_zxdh.a.p -Idrivers -I../drivers -Idrivers/net/zxdh -I../drivers/net/zxdh -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/loongarch/include -I../lib/eal/loongarch/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-extern s -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=loongarch64 -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.zxdh -MD -MQ drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev.c.o -MF drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev.c.o.d -o drivers/libtmp_rte_net_zxdh.a.p/net_zxdh_zxdh_ethdev.c.o -c ../drivers/net/zxdh/zxdh_ethdev.c ./drivers/net/zxdh/zxdh_ethdev.c:13:25: error: array type has incomplete element type ‘struct zxdh_hw_internal’ struct zxdh_hw_internal zxdh_hw_internal[RTE_MAX_ETHPORTS]; ^~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:17:8: error: variable ‘g_dtb_data’ has initializer but incomplete type struct zxdh_dtb_shared_data g_dtb_data = {0}; ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:17:43: warning: excess elements in struct initializer struct zxdh_dtb_shared_data g_dtb_data = {0}; ^ ./drivers/net/zxdh/zxdh_ethdev.c:17:43: note: (near initialization for ‘g_dtb_data’) ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_queue_desc_pre_setup’: ./drivers/net/zxdh/zxdh_ethdev.c:68:13: error: ‘ZXDH_MIN_QUEUE_DEPTH’ undeclared (first use in this function); did you mean ‘ZXDH_RX_QUEUES_MAX’? if (desc < ZXDH_MIN_QUEUE_DEPTH) { ^~~~~~~~~~~~~~~~~~~~ ZXDH_RX_QUEUES_MAX ./drivers/net/zxdh/zxdh_ethdev.c:68:13: note: each undeclared identifier is reported only once for each function it appears in ./drivers/net/zxdh/zxdh_ethdev.c:69:3: warning: implicit declaration of function ‘PMD_RX_LOG’ [-Wimplicit-function-declaration] PMD_RX_LOG(WARNING, ^~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:69:3: warning: nested extern declaration of ‘PMD_RX_LOG’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:69:14: error: ‘WARNING’ undeclared (first use in this function); did you mean ‘RUNNING’? PMD_RX_LOG(WARNING, ^~~~~~~ RUNNING ./drivers/net/zxdh/zxdh_ethdev.c:75:13: error: ‘ZXDH_MAX_QUEUE_DEPTH’ undeclared (first use in this function); did you mean ‘ZXDH_RX_QUEUES_MAX’? if (desc > ZXDH_MAX_QUEUE_DEPTH) { ^~~~~~~~~~~~~~~~~~~~ ZXDH_RX_QUEUES_MAX ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘hw_q_depth_handler’: ./drivers/net/zxdh/zxdh_ethdev.c:104:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->q_depth = q_depth; ^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:108:75: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static int32_t zxdh_dev_devargs_parse(struct rte_devargs *devargs, struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_dev_devargs_parse’: ./drivers/net/zxdh/zxdh_ethdev.c:118:3: warning: implicit declaration of function ‘PMD_INIT_LOG’; did you mean ‘RTE_LIB_LOG’? [-Wimplicit-function-declaration] PMD_INIT_LOG(ERR, "error when parsing param"); ^~~~~~~~~~~~ RTE_LIB_LOG ./drivers/net/zxdh/zxdh_ethdev.c:118:3: warning: nested extern declaration of ‘PMD_INIT_LOG’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:118:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "error when parsing param"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:127:9: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (!hw->q_depth) ^~ ./drivers/net/zxdh/zxdh_ethdev.c:128:17: error: ‘ZXDH_MIN_QUEUE_DEPTH’ undeclared (first use in this function); did you mean ‘ZXDH_RX_QUEUES_MAX’? hw->q_depth = ZXDH_MIN_QUEUE_DEPTH; ^~~~~~~~~~~~~~~~~~~~ ZXDH_RX_QUEUES_MAX ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_init_shared_data’: ./drivers/net/zxdh/zxdh_ethdev.c:145:13: error: dereferencing pointer to incomplete type ‘struct zxdh_shared_data’ sizeof(*zxdh_shared_data), SOCKET_ID_ANY, 0); ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:147:18: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "Cannot allocate zxdh shared data"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_init_once’: ./drivers/net/zxdh/zxdh_ethdev.c:172:15: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "port 0x%x init...", eth_dev->data->port_id); ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:194:47: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static int32_t zxdh_get_pci_dev_config(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_get_pci_dev_config’: ./drivers/net/zxdh/zxdh_ethdev.c:196:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->host_features = zxdh_vtpci_get_features(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:196:22: warning: implicit declaration of function ‘zxdh_vtpci_get_features’ [-Wimplicit-function-declaration] hw->host_features = zxdh_vtpci_get_features(hw); ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:196:22: warning: nested extern declaration of ‘zxdh_vtpci_get_features’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:20:11: error: ‘ZXDH_NET_F_MRG_RXBUF’ undeclared (first use in this function) (1ULL << ZXDH_NET_F_MRG_RXBUF | ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:21:11: error: ‘ZXDH_NET_F_STATUS’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_STATUS | ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:22:11: error: ‘ZXDH_NET_F_MQ’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_MQ | ^~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:23:11: error: ‘ZXDH_F_ANY_LAYOUT’ undeclared (first use in this function) 1ULL << ZXDH_F_ANY_LAYOUT | ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:24:11: error: ‘ZXDH_F_VERSION_1’ undeclared (first use in this function); did you mean ‘GCC_VERSION’? 1ULL << ZXDH_F_VERSION_1 | ^~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:25:11: error: ‘ZXDH_F_RING_PACKED’ undeclared (first use in this function) 1ULL << ZXDH_F_RING_PACKED | ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:26:11: error: ‘ZXDH_F_IN_ORDER’ undeclared (first use in this function) 1ULL << ZXDH_F_IN_ORDER | ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:27:11: error: ‘ZXDH_F_ORDER_PLATFORM’ undeclared (first use in this function) 1ULL << ZXDH_F_ORDER_PLATFORM | ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:28:11: error: ‘ZXDH_F_NOTIFICATION_DATA’ undeclared (first use in this function) 1ULL << ZXDH_F_NOTIFICATION_DATA | ^~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:29:11: error: ‘ZXDH_NET_F_MAC’ undeclared (first use in this function); did you mean ‘EXPR_NEST_MAX’? 1ULL << ZXDH_NET_F_MAC | ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:30:11: error: ‘ZXDH_NET_F_CSUM’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_CSUM | ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:31:11: error: ‘ZXDH_NET_F_GUEST_CSUM’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_GUEST_CSUM | ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:32:11: error: ‘ZXDH_NET_F_GUEST_TSO4’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_GUEST_TSO4 | ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:33:11: error: ‘ZXDH_NET_F_GUEST_TSO6’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_GUEST_TSO6 | ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:34:11: error: ‘ZXDH_NET_F_HOST_TSO4’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_HOST_TSO4 | ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:35:11: error: ‘ZXDH_NET_F_HOST_TSO6’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_HOST_TSO6 | ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:36:11: error: ‘ZXDH_NET_F_GUEST_UFO’ undeclared (first use in this function); did you mean ‘ZXDH_RX_QUEUES_MAX’? 1ULL << ZXDH_NET_F_GUEST_UFO | ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:37:11: error: ‘ZXDH_NET_F_HOST_UFO’ undeclared (first use in this function) 1ULL << ZXDH_NET_F_HOST_UFO) ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:197:22: note: in expansion of macro ‘ZXDH_PMD_DEFAULT_HOST_FEATURES’ hw->host_features = ZXDH_PMD_DEFAULT_HOST_FEATURES; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:205:3: warning: implicit declaration of function ‘zxdh_vtpci_read_dev_config’; did you mean ‘zxdh_get_pci_dev_config’? [-Wimplicit-function-declaration] zxdh_vtpci_read_dev_config(hw, offsetof(struct zxdh_net_config, mac), ^~~~~~~~~~~~~~~~~~~~~~~~~~ zxdh_get_pci_dev_config ./drivers/net/zxdh/zxdh_ethdev.c:205:3: warning: nested extern declaration of ‘zxdh_vtpci_read_dev_config’ [-Wnested-externs] In file included from /usr/include/bits/socket.h:27, from /usr/include/sys/socket.h:33, from ../lib/net/rte_ip.h:23, from ../lib/ethdev/rte_flow.h:25, from ../lib/ethdev/rte_eth_ctrl.h:11, from ../lib/ethdev/rte_ethdev.h:1459, from ../lib/ethdev/ethdev_driver.h:25, from ../lib/ethdev/ethdev_pci.h:17, from ../drivers/net/zxdh/zxdh_ethdev.c:9: ./drivers/net/zxdh/zxdh_ethdev.c:205:34: error: invalid use of undefined type ‘struct zxdh_net_config’ zxdh_vtpci_read_dev_config(hw, offsetof(struct zxdh_net_config, mac), ^~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:207:16: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "get dev mac: %02X:%02X:%02X:%02X:%02X:%02X", ^~~~~ SO_DEBUG In file included from /usr/include/bits/socket.h:27, from /usr/include/sys/socket.h:33, from ../lib/net/rte_ip.h:23, from ../lib/ethdev/rte_flow.h:25, from ../lib/ethdev/rte_eth_ctrl.h:11, from ../lib/ethdev/rte_ethdev.h:1459, from ../lib/ethdev/ethdev_driver.h:25, from ../lib/ethdev/ethdev_pci.h:17, from ../drivers/net/zxdh/zxdh_ethdev.c:9: ./drivers/net/zxdh/zxdh_ethdev.c:220:33: error: invalid use of undefined type ‘struct zxdh_net_config’ zxdh_vtpci_read_dev_config(hw, offsetof(struct zxdh_net_config, max_virtqueue_pairs), ^~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:230:23: warning: implicit declaration of function ‘vtpci_with_feature’ [-Wimplicit-function-declaration] hw->weak_barriers = !vtpci_with_feature(hw, ZXDH_F_ORDER_PLATFORM); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:230:23: warning: nested extern declaration of ‘vtpci_with_feature’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_dev_free_mbufs’: ./drivers/net/zxdh/zxdh_ethdev.c:237:21: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ uint16_t nr_vq = hw->queue_num; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:253:16: warning: implicit declaration of function ‘get_queue_type’ [-Wimplicit-function-declaration] queue_type = get_queue_type(i); ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:253:16: warning: nested extern declaration of ‘get_queue_type’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:254:21: error: ‘VTNET_RQ’ undeclared (first use in this function) if (queue_type == VTNET_RQ) ^~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:256:26: error: ‘VTNET_TQ’ undeclared (first use in this function) else if (queue_type == VTNET_TQ) ^~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:261:16: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "Before freeing %s[%d] used and unused buf", type, i); ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:263:17: warning: implicit declaration of function ‘zxdh_virtqueue_detach_unused’; did you mean ‘zxdh_queue_desc_pre_setup’? [-Wimplicit-function-declaration] while ((buf = zxdh_virtqueue_detach_unused(vq)) != NULL) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ zxdh_queue_desc_pre_setup ./drivers/net/zxdh/zxdh_ethdev.c:263:17: warning: nested extern declaration of ‘zxdh_virtqueue_detach_unused’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:263:15: warning: assignment to ‘struct rte_mbuf *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] while ((buf = zxdh_virtqueue_detach_unused(vq)) != NULL) { ^ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_init_device’: ./drivers/net/zxdh/zxdh_ethdev.c:278:12: warning: implicit declaration of function ‘zxdh_read_pci_caps’ [-Wimplicit-function-declaration] int ret = zxdh_read_pci_caps(pci_dev, hw); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:278:12: warning: nested extern declaration of ‘zxdh_read_pci_caps’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:281:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "port 0x%x pci caps read failed .", hw->vport.vport); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:281:59: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ PMD_INIT_LOG(ERR, "port 0x%x pci caps read failed .", hw->vport.vport); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:284:45: error: ‘zxdh_modern_ops’ undeclared (first use in this function); did you mean ‘eth_dev_ops’? zxdh_hw_internal[hw->port_id].vtpci_ops = &zxdh_modern_ops; ^~~~~~~~~~~~~~~ eth_dev_ops ./drivers/net/zxdh/zxdh_ethdev.c:285:2: warning: implicit declaration of function ‘zxdh_vtpci_reset’ [-Wimplicit-function-declaration] zxdh_vtpci_reset(hw); ^~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:285:2: warning: nested extern declaration of ‘zxdh_vtpci_reset’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:286:26: warning: passing argument 1 of ‘zxdh_get_pci_dev_config’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_get_pci_dev_config(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:194:56: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static int32_t zxdh_get_pci_dev_config(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:289:9: warning: implicit declaration of function ‘zxdh_free_queues’; did you mean ‘zxdh_dev_free_mbufs’? [-Wimplicit-function-declaration] ret = zxdh_free_queues(eth_dev); ^~~~~~~~~~~~~~~~ zxdh_dev_free_mbufs ./drivers/net/zxdh/zxdh_ethdev.c:289:9: warning: nested extern declaration of ‘zxdh_free_queues’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:300:15: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "PORT MAC: %02X:%02X:%02X:%02X:%02X:%02X", ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:308:29: error: ‘ZXDH_NET_F_STATUS’ undeclared (first use in this function) if (vtpci_with_feature(hw, ZXDH_NET_F_STATUS) && (hw->use_msix != ZXDH_MSIX_NONE)) { ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:308:68: error: ‘ZXDH_MSIX_NONE’ undeclared (first use in this function) if (vtpci_with_feature(hw, ZXDH_NET_F_STATUS) && (hw->use_msix != ZXDH_MSIX_NONE)) { ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_queues_unbind_intr’: ./drivers/net/zxdh/zxdh_ethdev.c:324:15: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "queue/interrupt unbinding"); ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:329:3: warning: implicit declaration of function ‘VTPCI_OPS’ [-Wimplicit-function-declaration] VTPCI_OPS(hw)->set_queue_irq(hw, hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:329:3: warning: nested extern declaration of ‘VTPCI_OPS’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:329:16: error: invalid type argument of ‘->’ (have ‘int’) VTPCI_OPS(hw)->set_queue_irq(hw, hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:329:38: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ VTPCI_OPS(hw)->set_queue_irq(hw, hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:329:52: error: ‘ZXDH_MSI_NO_VECTOR’ undeclared (first use in this function) VTPCI_OPS(hw)->set_queue_irq(hw, hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:330:16: error: invalid type argument of ‘->’ (have ‘int’) VTPCI_OPS(hw)->set_queue_irq(hw, hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2 + 1], ZXDH_MSI_NO_VECTOR); ^~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_unmask’: ./drivers/net/zxdh/zxdh_ethdev.c:341:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->use_msix = zxdh_vtpci_msix_detect(RTE_ETH_DEV_TO_PCI(dev)); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:341:17: warning: implicit declaration of function ‘zxdh_vtpci_msix_detect’; did you mean ‘zxdh_init_device’? [-Wimplicit-function-declaration] hw->use_msix = zxdh_vtpci_msix_detect(RTE_ETH_DEV_TO_PCI(dev)); ^~~~~~~~~~~~~~~~~~~~~~ zxdh_init_device ./drivers/net/zxdh/zxdh_ethdev.c:341:17: warning: nested extern declaration of ‘zxdh_vtpci_msix_detect’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_devconf_intr_handler’: ./drivers/net/zxdh/zxdh_ethdev.c:353:16: warning: implicit declaration of function ‘zxdh_vtpci_isr’ [-Wimplicit-function-declaration] uint8_t isr = zxdh_vtpci_isr(hw); ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:353:16: warning: nested extern declaration of ‘zxdh_vtpci_isr’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:356:3: warning: implicit declaration of function ‘PMD_DRV_LOG’ [-Wimplicit-function-declaration] PMD_DRV_LOG(ERR, "interrupt enable failed"); ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:356:3: warning: nested extern declaration of ‘PMD_DRV_LOG’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:356:15: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "interrupt enable failed"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:357:12: error: ‘ZXDH_PCI_ISR_CONFIG’ undeclared (first use in this function) if (isr & ZXDH_PCI_ISR_CONFIG) { ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:363:30: error: ‘ZXDH_NET_F_STATUS’ undeclared (first use in this function) if (vtpci_with_feature(hw, ZXDH_NET_F_STATUS)) { ^~~~~~~~~~~~~~~~~ In file included from /usr/include/bits/socket.h:27, from /usr/include/sys/socket.h:33, from ../lib/net/rte_ip.h:23, from ../lib/ethdev/rte_flow.h:25, from ../lib/ethdev/rte_eth_ctrl.h:11, from ../lib/ethdev/rte_ethdev.h:1459, from ../lib/ethdev/ethdev_driver.h:25, from ../lib/ethdev/ethdev_pci.h:17, from ../drivers/net/zxdh/zxdh_ethdev.c:9: ./drivers/net/zxdh/zxdh_ethdev.c:364:35: error: invalid use of undefined type ‘struct zxdh_net_config’ zxdh_vtpci_read_dev_config(hw, offsetof(struct zxdh_net_config, status), ^~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:366:17: error: ‘ZXDH_NET_S_ANNOUNCE’ undeclared (first use in this function) if (status & ZXDH_NET_S_ANNOUNCE) ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:367:5: warning: implicit declaration of function ‘zxdh_notify_peers’ [-Wimplicit-function-declaration] zxdh_notify_peers(dev); ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:367:5: warning: nested extern declaration of ‘zxdh_notify_peers’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_frompfvf_intr_handler’: ./drivers/net/zxdh/zxdh_ethdev.c:379:27: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_MSG_CHAN_PFVFSHARE_OFFSET); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:379:38: error: ‘ZXDH_BAR0_INDEX’ undeclared (first use in this function) virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_MSG_CHAN_PFVFSHARE_OFFSET); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:379:57: error: ‘ZXDH_MSG_CHAN_PFVFSHARE_OFFSET’ undeclared (first use in this function) virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_MSG_CHAN_PFVFSHARE_OFFSET); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:381:16: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "zxdh_pf2vf_intr_handler PF "); ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:382:3: warning: implicit declaration of function ‘zxdh_bar_irq_recv’ [-Wimplicit-function-declaration] zxdh_bar_irq_recv(MSG_CHAN_END_VF, MSG_CHAN_END_PF, virt_addr, dev); ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:382:3: warning: nested extern declaration of ‘zxdh_bar_irq_recv’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:382:21: error: ‘MSG_CHAN_END_VF’ undeclared (first use in this function) zxdh_bar_irq_recv(MSG_CHAN_END_VF, MSG_CHAN_END_PF, virt_addr, dev); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:382:38: error: ‘MSG_CHAN_END_PF’ undeclared (first use in this function) zxdh_bar_irq_recv(MSG_CHAN_END_VF, MSG_CHAN_END_PF, virt_addr, dev); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_fromriscv_intr_handler’: ./drivers/net/zxdh/zxdh_ethdev.c:396:27: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_CTRLCH_OFFSET); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:396:38: error: ‘ZXDH_BAR0_INDEX’ undeclared (first use in this function) virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_CTRLCH_OFFSET); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:396:57: error: ‘ZXDH_CTRLCH_OFFSET’ undeclared (first use in this function) virt_addr = (uint64_t)(hw->bar_addr[ZXDH_BAR0_INDEX] + ZXDH_CTRLCH_OFFSET); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:398:16: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "zxdh_risc2pf_intr_handler PF "); ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:399:21: error: ‘MSG_CHAN_END_RISC’ undeclared (first use in this function) zxdh_bar_irq_recv(MSG_CHAN_END_RISC, MSG_CHAN_END_PF, virt_addr, dev); ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:399:40: error: ‘MSG_CHAN_END_PF’ undeclared (first use in this function) zxdh_bar_irq_recv(MSG_CHAN_END_RISC, MSG_CHAN_END_PF, virt_addr, dev); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:402:40: error: ‘MSG_CHAN_END_VF’ undeclared (first use in this function) zxdh_bar_irq_recv(MSG_CHAN_END_RISC, MSG_CHAN_END_VF, virt_addr, dev); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_cb_unreg’: ./drivers/net/zxdh/zxdh_ethdev.c:408:15: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, ""); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:417:34: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ struct rte_intr_handle *tmp = hw->risc_intr + ^~ ./drivers/net/zxdh/zxdh_ethdev.c:418:5: error: ‘MSIX_FROM_PFVF’ undeclared (first use in this function) (MSIX_FROM_PFVF - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:418:22: error: ‘ZXDH_MSIX_INTR_MSG_VEC_BASE’ undeclared (first use in this function) (MSIX_FROM_PFVF - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:421:25: error: ‘MSIX_FROM_RISCV’ undeclared (first use in this function) tmp = hw->risc_intr + (MSIX_FROM_RISCV - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_disable’: ./drivers/net/zxdh/zxdh_ethdev.c:429:9: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (!hw->intr_enabled) ^~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_release’: ./drivers/net/zxdh/zxdh_ethdev.c:445:16: error: invalid type argument of ‘->’ (have ‘int’) VTPCI_OPS(hw)->set_config_irq(hw, ZXDH_MSI_NO_VECTOR); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:445:37: error: ‘ZXDH_MSI_NO_VECTOR’ undeclared (first use in this function) VTPCI_OPS(hw)->set_config_irq(hw, ZXDH_MSI_NO_VECTOR); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:452:13: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ rte_free(hw->risc_intr); ^~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_setup_risc_interrupts’: ./drivers/net/zxdh/zxdh_ethdev.c:464:9: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (!hw->risc_intr) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:465:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, " to allocate risc_intr"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:467:4: error: ‘ZXDH_MSIX_INTR_MSG_VEC_NUM’ undeclared (first use in this function) ZXDH_MSIX_INTR_MSG_VEC_NUM ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION sizeof(struct rte_intr_handle), 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_setup_dtb_interrupts’: ./drivers/net/zxdh/zxdh_ethdev.c:495:9: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (!hw->dtb_intr) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:498:17: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "Failed to allocate dtb_intr"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:503:29: error: ‘ZXDH_MSIX_INTR_DTB_VEC’ undeclared (first use in this function) if (dev->intr_handle->efds[ZXDH_MSIX_INTR_DTB_VEC - 1] < 0) { ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_queues_bind_intr’: ./drivers/net/zxdh/zxdh_ethdev.c:521:16: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "queue/interrupt mask, nb_rx_queues %u", ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:524:23: error: invalid type argument of ‘->’ (have ‘int’) vec = VTPCI_OPS(hw)->set_queue_irq(hw, ^~ ./drivers/net/zxdh/zxdh_ethdev.c:525:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:525:22: error: ‘ZXDH_MSI_NO_VECTOR’ undeclared (first use in this function) hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], ZXDH_MSI_NO_VECTOR); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:530:16: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "queue/interrupt binding, nb_rx_queues %u", ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:533:23: error: invalid type argument of ‘->’ (have ‘int’) vec = VTPCI_OPS(hw)->set_queue_irq(hw, ^~ ./drivers/net/zxdh/zxdh_ethdev.c:534:26: error: ‘ZXDH_QUE_INTR_VEC_BASE’ undeclared (first use in this function) hw->vqs[i ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 2], i + ZXDH_QUE_INTR_VEC_BASE); ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:541:22: error: invalid type argument of ‘->’ (have ‘int’) vec = VTPCI_OPS(hw)->set_queue_irq(hw, ^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:549:9: warning: no previous prototype for ‘zxdh_dev_pause’ [-Wmissing-prototypes] int32_t zxdh_dev_pause(struct rte_eth_dev *dev) ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_dev_pause’: ./drivers/net/zxdh/zxdh_ethdev.c:553:23: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ rte_spinlock_lock(&hw->state_lock); ^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:573:6: warning: no previous prototype for ‘zxdh_dev_resume’ [-Wmissing-prototypes] void zxdh_dev_resume(struct rte_eth_dev *dev) ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_dev_resume’: ./drivers/net/zxdh/zxdh_ethdev.c:577:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->started = 1; ^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:585:9: warning: no previous prototype for ‘zxdh_inject_pkts’ [-Wmissing-prototypes] int32_t zxdh_inject_pkts(struct rte_eth_dev *dev, struct rte_mbuf **tx_pkts, int32_t nb_pkts) ^~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_inject_pkts’: ./drivers/net/zxdh/zxdh_ethdev.c:591:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->inject_pkts = tx_pkts; ^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:598:6: warning: no previous prototype for ‘zxdh_notify_peers’ [-Wmissing-prototypes] void zxdh_notify_peers(struct rte_eth_dev *dev) ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:598:6: warning: conflicting types for ‘zxdh_notify_peers’ ./drivers/net/zxdh/zxdh_ethdev.c:367:5: note: previous implicit declaration of ‘zxdh_notify_peers’ was here zxdh_notify_peers(dev); ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_notify_peers’: ./drivers/net/zxdh/zxdh_ethdev.c:611:43: error: dereferencing pointer to incomplete type ‘struct virtnet_rx’ rarp_mbuf = rte_net_make_rarp_packet(rxvq->mpool, (struct rte_ether_addr *)hw->mac_addr); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:611:79: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ rarp_mbuf = rte_net_make_rarp_packet(rxvq->mpool, (struct rte_ether_addr *)hw->mac_addr); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:613:15: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "failed to make RARP packet."); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_cb_reg’: ./drivers/net/zxdh/zxdh_ethdev.c:637:34: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ struct rte_intr_handle *tmp = hw->risc_intr + ^~ ./drivers/net/zxdh/zxdh_ethdev.c:638:5: error: ‘MSIX_FROM_PFVF’ undeclared (first use in this function) (MSIX_FROM_PFVF - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:638:22: error: ‘ZXDH_MSIX_INTR_MSG_VEC_BASE’ undeclared (first use in this function) (MSIX_FROM_PFVF - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:642:25: error: ‘MSIX_FROM_RISCV’ undeclared (first use in this function) tmp = hw->risc_intr + (MSIX_FROM_RISCV - ZXDH_MSIX_INTR_MSG_VEC_BASE); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_intr_enable’: ./drivers/net/zxdh/zxdh_ethdev.c:651:9: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (!hw->intr_enabled) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:655:17: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "Failed to enable %s intr", dev->data->name); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_configure_intr’: ./drivers/net/zxdh/zxdh_ethdev.c:668:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "Multiple intr vector not supported"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:672:19: error: ‘ZXDH_MSIX_INTR_DTB_VEC_NUM’ undeclared (first use in this function) uint8_t nb_efd = ZXDH_MSIX_INTR_DTB_VEC_NUM + ZXDH_MSIX_INTR_MSG_VEC_NUM; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:672:48: error: ‘ZXDH_MSIX_INTR_MSG_VEC_NUM’ undeclared (first use in this function) uint8_t nb_efd = ZXDH_MSIX_INTR_DTB_VEC_NUM + ZXDH_MSIX_INTR_MSG_VEC_NUM; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:683:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->max_queue_pairs + ZXDH_INTR_NONQUE_NUM)) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:683:28: error: ‘ZXDH_INTR_NONQUE_NUM’ undeclared (first use in this function) hw->max_queue_pairs + ZXDH_INTR_NONQUE_NUM)) { ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:688:15: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "allocate %u rxq vectors", dev->intr_handle->vec_list_size); ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘set_rxtx_funcs’: ./drivers/net/zxdh/zxdh_ethdev.c:746:7: warning: implicit declaration of function ‘vtpci_packed_queue’ [-Wimplicit-function-declaration] if (!vtpci_packed_queue(hw)) { ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:746:7: warning: nested extern declaration of ‘vtpci_packed_queue’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:747:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, " port %u not support packed queue", eth_dev->data->port_id); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:750:30: error: ‘ZXDH_NET_F_MRG_RXBUF’ undeclared (first use in this function) if (!vtpci_with_feature(hw, ZXDH_NET_F_MRG_RXBUF)) { ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:762:36: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void zxdh_msg_cb_reg(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_msg_cb_reg’: ./drivers/net/zxdh/zxdh_ethdev.c:764:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (hw->is_pf) ^~ ./drivers/net/zxdh/zxdh_ethdev.c:765:3: warning: implicit declaration of function ‘zxdh_bar_chan_msg_recv_register’ [-Wimplicit-function-declaration] zxdh_bar_chan_msg_recv_register(MODULE_BAR_MSG_TO_PF, pf_recv_bar_msg); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:765:3: warning: nested extern declaration of ‘zxdh_bar_chan_msg_recv_register’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:765:35: error: ‘MODULE_BAR_MSG_TO_PF’ undeclared (first use in this function) zxdh_bar_chan_msg_recv_register(MODULE_BAR_MSG_TO_PF, pf_recv_bar_msg); ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:765:57: error: ‘pf_recv_bar_msg’ undeclared (first use in this function) zxdh_bar_chan_msg_recv_register(MODULE_BAR_MSG_TO_PF, pf_recv_bar_msg); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:767:35: error: ‘MODULE_BAR_MSG_TO_VF’ undeclared (first use in this function) zxdh_bar_chan_msg_recv_register(MODULE_BAR_MSG_TO_VF, vf_recv_bar_msg); ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:767:57: error: ‘vf_recv_bar_msg’ undeclared (first use in this function) zxdh_bar_chan_msg_recv_register(MODULE_BAR_MSG_TO_VF, vf_recv_bar_msg); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:770:39: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void zxdh_priv_res_init(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_priv_res_init’: ./drivers/net/zxdh/zxdh_ethdev.c:772:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->vlan_fiter = (uint64_t *)rte_malloc("vlan_filter", 64 ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION sizeof(uint64_t), 1); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:775:38: error: ‘ZXDH_MAX_VF’ undeclared (first use in this function) hw->vfinfo = rte_zmalloc("vfinfo", ZXDH_MAX_VF ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION sizeof(struct vfinfo), 4); ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:775:59: error: invalid application of ‘sizeof’ to incomplete type ‘struct vfinfo’ hw->vfinfo = rte_zmalloc("vfinfo", ZXDH_MAX_VF ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION sizeof(struct vfinfo), 4); ^~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:780:35: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void set_vfs_pcieid(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘set_vfs_pcieid’: ./drivers/net/zxdh/zxdh_ethdev.c:782:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (hw->pfinfo.vf_nums > ZXDH_MAX_VF) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:782:27: error: ‘ZXDH_MAX_VF’ undeclared (first use in this function) if (hw->pfinfo.vf_nums > ZXDH_MAX_VF) { ^~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:783:15: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "vf nums %u out of range", hw->pfinfo.vf_nums); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:791:14: error: ‘INFO’ undeclared (first use in this function) PMD_DRV_LOG(INFO, "vf nums %d", hw->pfinfo.vf_nums); ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:795:31: warning: implicit declaration of function ‘VF_PCIE_ID’ [-Wimplicit-function-declaration] hw->vfinfo[vf_idx].pcieid = VF_PCIE_ID(hw->pcie_id, vf_idx); ^~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:795:31: warning: nested extern declaration of ‘VF_PCIE_ID’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:799:40: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void zxdh_sriovinfo_init(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_sriovinfo_init’: ./drivers/net/zxdh/zxdh_ethdev.c:801:4: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ hw->pfinfo.pcieid = PF_PCIE_ID(hw->pcie_id); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:801:22: warning: implicit declaration of function ‘PF_PCIE_ID’; did you mean ‘PF_CAIF’? [-Wimplicit-function-declaration] hw->pfinfo.pcieid = PF_PCIE_ID(hw->pcie_id); ^~~~~~~~~~ PF_CAIF ./drivers/net/zxdh/zxdh_ethdev.c:801:22: warning: nested extern declaration of ‘PF_PCIE_ID’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:804:18: warning: passing argument 1 of ‘set_vfs_pcieid’ from incompatible pointer type [-Wincompatible-pointer-types] set_vfs_pcieid(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:780:44: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void set_vfs_pcieid(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:807:50: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static int zxdh_tbl_entry_offline_destroy(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_tbl_entry_offline_destroy’: ./drivers/net/zxdh/zxdh_ethdev.c:812:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (!g_dtb_data.init_done) ^ ./drivers/net/zxdh/zxdh_ethdev.c:815:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (hw->is_pf) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:816:12: warning: implicit declaration of function ‘MK_SDT_NO’ [-Wimplicit-function-declaration] sdt_no = MK_SDT_NO(L2_ENTRY, hw->hash_search_index); ^~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:816:12: warning: nested extern declaration of ‘MK_SDT_NO’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:816:22: error: ‘L2_ENTRY’ undeclared (first use in this function); did you mean ‘LIST_ENTRY’? sdt_no = MK_SDT_NO(L2_ENTRY, hw->hash_search_index); ^~~~~~~~ LIST_ENTRY ./drivers/net/zxdh/zxdh_ethdev.c:817:9: warning: implicit declaration of function ‘dpp_dtb_hash_offline_delete’ [-Wimplicit-function-declaration] ret = dpp_dtb_hash_offline_delete(0, g_dtb_data.queueid, sdt_no, 0); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:817:9: warning: nested extern declaration of ‘dpp_dtb_hash_offline_delete’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:817:50: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ ret = dpp_dtb_hash_offline_delete(0, g_dtb_data.queueid, sdt_no, 0); ^ ./drivers/net/zxdh/zxdh_ethdev.c:818:15: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_DRV_LOG(DEBUG, "%d dpp_dtb_hash_offline_delete sdt_no %d", ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:821:16: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "%d dpp_dtb_hash_offline_delete sdt_no %d failed", ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:824:22: error: ‘MC’ undeclared (first use in this function) sdt_no = MK_SDT_NO(MC, hw->hash_search_index); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:825:50: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ ret = dpp_dtb_hash_offline_delete(0, g_dtb_data.queueid, sdt_no, 0); ^ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:836:4: error: unknown type name ‘DPP_DEV_INIT_CTRL_T’ DPP_DEV_INIT_CTRL_T *dpp_ctrl) ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:881:38: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void dtb_data_res_free(struct zxdh_hw *hw) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘dtb_data_res_free’: ./drivers/net/zxdh/zxdh_ethdev.c:883:30: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ struct rte_eth_dev *dev = hw->eth_dev; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:885:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if ((g_dtb_data.init_done) && (g_dtb_data.bind_device == dev)) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:885:43: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if ((g_dtb_data.init_done) && (g_dtb_data.bind_device == dev)) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:886:15: error: ‘INFO’ undeclared (first use in this function) PMD_DRV_LOG(INFO, "%s g_dtb_data free queue %d", ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:887:32: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ dev->data->name, g_dtb_data.queueid); ^ ./drivers/net/zxdh/zxdh_ethdev.c:891:9: warning: implicit declaration of function ‘dpp_np_online_uninstall’ [-Wimplicit-function-declaration] ret = dpp_np_online_uninstall(0, dev->data->name, g_dtb_data.queueid); ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:891:9: warning: nested extern declaration of ‘dpp_np_online_uninstall’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:891:63: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ ret = dpp_np_online_uninstall(0, dev->data->name, g_dtb_data.queueid); ^ ./drivers/net/zxdh/zxdh_ethdev.c:893:16: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "%s dpp_np_online_uninstall failed", dev->data->name); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:895:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (g_dtb_data.dtb_table_conf_mz) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:896:31: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ rte_memzone_free(g_dtb_data.dtb_table_conf_mz); ^ ./drivers/net/zxdh/zxdh_ethdev.c:898:14: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dtb_table_conf_mz = NULL; ^ ./drivers/net/zxdh/zxdh_ethdev.c:900:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (g_dtb_data.dtb_table_dump_mz) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:902:31: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ rte_memzone_free(g_dtb_data.dtb_table_dump_mz); ^ ./drivers/net/zxdh/zxdh_ethdev.c:903:14: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dtb_table_dump_mz = NULL; ^ ./drivers/net/zxdh/zxdh_ethdev.c:907:19: error: ‘ZXDH_MAX_BASE_DTB_TABLE_COUNT’ undeclared (first use in this function) for (i = 0; i < ZXDH_MAX_BASE_DTB_TABLE_COUNT; i++) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:908:18: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (g_dtb_data.dtb_table_bulk_dump_mz[i]) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:909:32: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ rte_memzone_free(g_dtb_data.dtb_table_bulk_dump_mz[i]); ^ ./drivers/net/zxdh/zxdh_ethdev.c:912:15: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dtb_table_bulk_dump_mz[i] = NULL; ^ ./drivers/net/zxdh/zxdh_ethdev.c:915:13: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.init_done = 0; ^ ./drivers/net/zxdh/zxdh_ethdev.c:916:13: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.bind_device = NULL; ^ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘npsdk_dtb_res_init’: ./drivers/net/zxdh/zxdh_ethdev.c:927:16: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (g_dtb_data.init_done) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:928:16: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_INIT_LOG(DEBUG, "DTB res already init done, dev %s no need init", ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:932:12: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.queueid = INVALID_DTBQUE; ^ ./drivers/net/zxdh/zxdh_ethdev.c:932:23: error: ‘INVALID_DTBQUE’ undeclared (first use in this function) g_dtb_data.queueid = INVALID_DTBQUE; ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:933:12: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.bind_device = dev; ^ ./drivers/net/zxdh/zxdh_ethdev.c:934:12: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dev_refcnt++; ^ ./drivers/net/zxdh/zxdh_ethdev.c:935:12: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.init_done = 1; ^ ./drivers/net/zxdh/zxdh_ethdev.c:937:2: error: unknown type name ‘DPP_DEV_INIT_CTRL_T’ DPP_DEV_INIT_CTRL_T *dpp_ctrl = malloc(sizeof(*dpp_ctrl) + ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:938:11: error: ‘DPP_DTB_ADDR_INFO_T’ undeclared (first use in this function) sizeof(DPP_DTB_ADDR_INFO_T) ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION 256); ^~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:941:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "dev %s annot allocate memory for dpp_ctrl", dev->device->name); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:947:10: error: request for member ‘queue_id’ in something not a structure or union dpp_ctrl->queue_id = 0xff; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:948:10: error: request for member ‘vport’ in something not a structure or union dpp_ctrl->vport = hw->vport.vport; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:948:23: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ dpp_ctrl->vport = hw->vport.vport; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:949:10: error: request for member ‘vector’ in something not a structure or union dpp_ctrl->vector = ZXDH_MSIX_INTR_DTB_VEC; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:949:21: error: ‘ZXDH_MSIX_INTR_DTB_VEC’ undeclared (first use in this function) dpp_ctrl->vector = ZXDH_MSIX_INTR_DTB_VEC; ^~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:950:25: error: request for member ‘port_name’ in something not a structure or union strcpy((char *)dpp_ctrl->port_name, dev->device->name); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:951:10: error: request for member ‘pcie_vir_addr’ in something not a structure or union dpp_ctrl->pcie_vir_addr = (uint32_t)hw->bar_addr[0]; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:953:9: error: variable ‘param’ has initializer but incomplete type struct bar_offset_params param = {0}; ^~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:953:36: warning: excess elements in struct initializer struct bar_offset_params param = {0}; ^ ./drivers/net/zxdh/zxdh_ethdev.c:953:36: note: (near initialization for ‘param’) ./drivers/net/zxdh/zxdh_ethdev.c:953:27: error: storage size of ‘param’ isn’t known struct bar_offset_params param = {0}; ^~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:954:9: error: variable ‘res’ has initializer but incomplete type struct bar_offset_res res = {0}; ^~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:954:32: warning: excess elements in struct initializer struct bar_offset_res res = {0}; ^ ./drivers/net/zxdh/zxdh_ethdev.c:954:32: note: (near initialization for ‘res’) ./drivers/net/zxdh/zxdh_ethdev.c:954:25: error: storage size of ‘res’ isn’t known struct bar_offset_res res = {0}; ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:957:38: error: ‘ZXDH_CTRLCH_OFFSET’ undeclared (first use in this function) param.virt_addr = hw->bar_addr[0] + ZXDH_CTRLCH_OFFSET; ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:958:15: error: ‘URI_NP’ undeclared (first use in this function) param.type = URI_NP; ^~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:960:8: warning: implicit declaration of function ‘zxdh_get_bar_offset’; did you mean ‘zxdh_dev_pause’? [-Wimplicit-function-declaration] ret = zxdh_get_bar_offset(¶m, &res); ^~~~~~~~~~~~~~~~~~~ zxdh_dev_pause ./drivers/net/zxdh/zxdh_ethdev.c:960:8: warning: nested extern declaration of ‘zxdh_get_bar_offset’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:965:10: error: request for member ‘np_bar_len’ in something not a structure or union dpp_ctrl->np_bar_len = res.bar_length; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:966:10: error: request for member ‘np_bar_offset’ in something not a structure or union dpp_ctrl->np_bar_offset = res.bar_offset; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:967:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (!g_dtb_data.dtb_table_conf_mz) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:969:5: error: ‘ZXDH_DTB_TABLE_CONF_SIZE’ undeclared (first use in this function) ZXDH_DTB_TABLE_CONF_SIZE, SOCKET_ID_ANY, 0, RTE_CACHE_LINE_SIZE); ^~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:978:11: error: request for member ‘down_vir_addr’ in something not a structure or union dpp_ctrl->down_vir_addr = conf_mz->addr_64; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:979:11: error: request for member ‘down_phy_addr’ in something not a structure or union dpp_ctrl->down_phy_addr = conf_mz->iova; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:980:13: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dtb_table_conf_mz = conf_mz; ^ ./drivers/net/zxdh/zxdh_ethdev.c:983:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (!g_dtb_data.dtb_table_dump_mz) { ^ ./drivers/net/zxdh/zxdh_ethdev.c:985:5: error: ‘ZXDH_DTB_TABLE_DUMP_SIZE’ undeclared (first use in this function) ZXDH_DTB_TABLE_DUMP_SIZE, SOCKET_ID_ANY, 0, RTE_CACHE_LINE_SIZE); ^~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:994:11: error: request for member ‘dump_vir_addr’ in something not a structure or union dpp_ctrl->dump_vir_addr = dump_mz->addr_64; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:995:11: error: request for member ‘dump_phy_addr’ in something not a structure or union dpp_ctrl->dump_phy_addr = dump_mz->iova; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:996:13: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dtb_table_dump_mz = dump_mz; ^ ./drivers/net/zxdh/zxdh_ethdev.c:999:2: warning: implicit declaration of function ‘zxdh_dtb_dump_res_init’; did you mean ‘zxdh_priv_res_init’? [-Wimplicit-function-declaration] zxdh_dtb_dump_res_init(hw, dpp_ctrl); ^~~~~~~~~~~~~~~~~~~~~~ zxdh_priv_res_init ./drivers/net/zxdh/zxdh_ethdev.c:999:2: warning: nested extern declaration of ‘zxdh_dtb_dump_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1001:8: warning: implicit declaration of function ‘dpp_host_np_init’ [-Wimplicit-function-declaration] ret = dpp_host_np_init(0, dpp_ctrl); ^~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1001:8: warning: nested extern declaration of ‘dpp_host_np_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1007:15: error: ‘INFO’ undeclared (first use in this function) PMD_INIT_LOG(INFO, "dev %s dpp host np init ok.dtb queue %d", ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1008:30: error: request for member ‘queue_id’ in something not a structure or union dev->device->name, dpp_ctrl->queue_id); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1009:12: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.queueid = dpp_ctrl->queue_id; ^ ./drivers/net/zxdh/zxdh_ethdev.c:1009:31: error: request for member ‘queue_id’ in something not a structure or union g_dtb_data.queueid = dpp_ctrl->queue_id; ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1014:20: warning: passing argument 1 of ‘dtb_data_res_free’ from incompatible pointer type [-Wincompatible-pointer-types] dtb_data_res_free(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:881:47: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void dtb_data_res_free(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:954:25: warning: unused variable ‘res’ [-Wunused-variable] struct bar_offset_res res = {0}; ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:953:27: warning: unused variable ‘param’ [-Wunused-variable] struct bar_offset_params param = {0}; ^~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘dpp_res_uni_init’: ./drivers/net/zxdh/zxdh_ethdev.c:1023:2: error: unknown type name ‘DPP_APT_HASH_RES_INIT_T’ DPP_APT_HASH_RES_INIT_T HashResInit = {0}; ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1024:2: error: unknown type name ‘DPP_APT_ERAM_RES_INIT_T’ DPP_APT_ERAM_RES_INIT_T EramResInit = {0}; ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1025:2: error: unknown type name ‘DPP_APT_STAT_RES_INIT_T’ DPP_APT_STAT_RES_INIT_T StatResInit = {0}; ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1027:35: error: ‘DPP_APT_HASH_RES_INIT_T’ undeclared (first use in this function) memset(&HashResInit, 0x0, sizeof(DPP_APT_HASH_RES_INIT_T)); ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1028:35: error: ‘DPP_APT_ERAM_RES_INIT_T’ undeclared (first use in this function) memset(&EramResInit, 0x0, sizeof(DPP_APT_ERAM_RES_INIT_T)); ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1029:35: error: ‘DPP_APT_STAT_RES_INIT_T’ undeclared (first use in this function) memset(&StatResInit, 0x0, sizeof(DPP_APT_STAT_RES_INIT_T)); ^~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1031:8: warning: implicit declaration of function ‘dpp_apt_hash_res_get’ [-Wimplicit-function-declaration] ret = dpp_apt_hash_res_get(type, &HashResInit); ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1031:8: warning: nested extern declaration of ‘dpp_apt_hash_res_get’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1033:15: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "%s hash_res_get failed!", __func__); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1036:8: warning: implicit declaration of function ‘dpp_apt_eram_res_get’ [-Wimplicit-function-declaration] ret = dpp_apt_eram_res_get(type, &EramResInit); ^~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1036:8: warning: nested extern declaration of ‘dpp_apt_eram_res_get’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1041:8: warning: implicit declaration of function ‘dpp_apt_stat_res_get’; did you mean ‘rte_eth_stats_reset’? [-Wimplicit-function-declaration] ret = dpp_apt_stat_res_get(type, &StatResInit); ^~~~~~~~~~~~~~~~~~~~ rte_eth_stats_reset ./drivers/net/zxdh/zxdh_ethdev.c:1041:8: warning: nested extern declaration of ‘dpp_apt_stat_res_get’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1046:8: warning: implicit declaration of function ‘dpp_apt_hash_global_res_init’ [-Wimplicit-function-declaration] ret = dpp_apt_hash_global_res_init(dev_id); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1046:8: warning: nested extern declaration of ‘dpp_apt_hash_global_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1052:8: warning: implicit declaration of function ‘dpp_apt_hash_func_res_init’; did you mean ‘dpp_res_uni_init’? [-Wimplicit-function-declaration] ret = dpp_apt_hash_func_res_init(dev_id, HashResInit.func_num, HashResInit.func_res); ^~~~~~~~~~~~~~~~~~~~~~~~~~ dpp_res_uni_init ./drivers/net/zxdh/zxdh_ethdev.c:1052:8: warning: nested extern declaration of ‘dpp_apt_hash_func_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1052:54: error: request for member ‘func_num’ in something not a structure or union ret = dpp_apt_hash_func_res_init(dev_id, HashResInit.func_num, HashResInit.func_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1052:76: error: request for member ‘func_res’ in something not a structure or union ret = dpp_apt_hash_func_res_init(dev_id, HashResInit.func_num, HashResInit.func_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1058:8: warning: implicit declaration of function ‘dpp_apt_hash_bulk_res_init’ [-Wimplicit-function-declaration] ret = dpp_apt_hash_bulk_res_init(dev_id, HashResInit.bulk_num, HashResInit.bulk_res); ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1058:8: warning: nested extern declaration of ‘dpp_apt_hash_bulk_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1058:54: error: request for member ‘bulk_num’ in something not a structure or union ret = dpp_apt_hash_bulk_res_init(dev_id, HashResInit.bulk_num, HashResInit.bulk_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1058:76: error: request for member ‘bulk_res’ in something not a structure or union ret = dpp_apt_hash_bulk_res_init(dev_id, HashResInit.bulk_num, HashResInit.bulk_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1063:8: warning: implicit declaration of function ‘dpp_apt_hash_tbl_res_init’; did you mean ‘npsdk_dtb_res_init’? [-Wimplicit-function-declaration] ret = dpp_apt_hash_tbl_res_init(dev_id, HashResInit.tbl_num, HashResInit.tbl_res); ^~~~~~~~~~~~~~~~~~~~~~~~~ npsdk_dtb_res_init ./drivers/net/zxdh/zxdh_ethdev.c:1063:8: warning: nested extern declaration of ‘dpp_apt_hash_tbl_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1063:53: error: request for member ‘tbl_num’ in something not a structure or union ret = dpp_apt_hash_tbl_res_init(dev_id, HashResInit.tbl_num, HashResInit.tbl_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1063:74: error: request for member ‘tbl_res’ in something not a structure or union ret = dpp_apt_hash_tbl_res_init(dev_id, HashResInit.tbl_num, HashResInit.tbl_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1068:8: warning: implicit declaration of function ‘dpp_apt_eram_res_init’; did you mean ‘dpp_res_uni_init’? [-Wimplicit-function-declaration] ret = dpp_apt_eram_res_init(dev_id, EramResInit.tbl_num, EramResInit.eram_res); ^~~~~~~~~~~~~~~~~~~~~ dpp_res_uni_init ./drivers/net/zxdh/zxdh_ethdev.c:1068:8: warning: nested extern declaration of ‘dpp_apt_eram_res_init’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1068:49: error: request for member ‘tbl_num’ in something not a structure or union ret = dpp_apt_eram_res_init(dev_id, EramResInit.tbl_num, EramResInit.eram_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1068:70: error: request for member ‘eram_res’ in something not a structure or union ret = dpp_apt_eram_res_init(dev_id, EramResInit.tbl_num, EramResInit.eram_res); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1073:8: warning: implicit declaration of function ‘dpp_stat_ppu_eram_baddr_set’ [-Wimplicit-function-declaration] ret = dpp_stat_ppu_eram_baddr_set(dev_id, StatResInit.eram_baddr); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1073:8: warning: nested extern declaration of ‘dpp_stat_ppu_eram_baddr_set’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1073:55: error: request for member ‘eram_baddr’ in something not a structure or union ret = dpp_stat_ppu_eram_baddr_set(dev_id, StatResInit.eram_baddr); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1078:8: warning: implicit declaration of function ‘dpp_stat_ppu_eram_depth_set’ [-Wimplicit-function-declaration] ret = dpp_stat_ppu_eram_depth_set(dev_id, StatResInit.eram_depth); /bin /boot /corefiles /dev /etc /home /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var unit: 128bits app/ build/ buildtools/ config/ devtools/ doc/ drivers/ dts/ examples/ kernel/ lib/ license/ usertools/ ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1078:8: warning: nested extern declaration of ‘dpp_stat_ppu_eram_depth_set’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1078:55: error: request for member ‘eram_depth’ in something not a structure or union ret = dpp_stat_ppu_eram_depth_set(dev_id, StatResInit.eram_depth); /bin /boot /corefiles /dev /etc /home /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var unit: 128bits app/ build/ buildtools/ config/ devtools/ doc/ drivers/ dts/ examples/ kernel/ lib/ license/ usertools/ ^ ./drivers/net/zxdh/zxdh_ethdev.c:1083:8: warning: implicit declaration of function ‘dpp_se_cmmu_smmu1_cfg_set’ [-Wimplicit-function-declaration] ret = dpp_se_cmmu_smmu1_cfg_set(dev_id, StatResInit.ddr_baddr); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1083:8: warning: nested extern declaration of ‘dpp_se_cmmu_smmu1_cfg_set’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1083:53: error: request for member ‘ddr_baddr’ in something not a structure or union ret = dpp_se_cmmu_smmu1_cfg_set(dev_id, StatResInit.ddr_baddr); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1088:8: warning: implicit declaration of function ‘dpp_stat_ppu_ddr_baddr_set’ [-Wimplicit-function-declaration] ret = dpp_stat_ppu_ddr_baddr_set(dev_id, StatResInit.ppu_ddr_offset); /bin /boot /corefiles /dev /etc /home /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var unit: 128bits app/ build/ buildtools/ config/ devtools/ doc/ drivers/ dts/ examples/ kernel/ lib/ license/ usertools/ ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1088:8: warning: nested extern declaration of ‘dpp_stat_ppu_ddr_baddr_set’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1088:54: error: request for member ‘ppu_ddr_offset’ in something not a structure or union ret = dpp_stat_ppu_ddr_baddr_set(dev_id, StatResInit.ppu_ddr_offset); /bin /boot /corefiles /dev /etc /home /lib /lib64 /lost+found /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var unit: 128bits app/ build/ buildtools/ config/ devtools/ doc/ drivers/ dts/ examples/ kernel/ lib/ license/ usertools/ ^ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘npsdk_apt_res_init’: ./drivers/net/zxdh/zxdh_ethdev.c:1101:25: error: ‘SE_NIC_RES_TYPE’ undeclared (first use in this function) ret = dpp_res_uni_init(SE_NIC_RES_TYPE); ^~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1103:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "init stand dpp res failed"); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_np_init’: ./drivers/net/zxdh/zxdh_ethdev.c:1115:13: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.dev_refcnt++; ^ ./drivers/net/zxdh/zxdh_ethdev.c:1116:34: warning: passing argument 1 of ‘zxdh_tbl_entry_offline_destroy’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_tbl_entry_offline_destroy(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:807:59: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static int zxdh_tbl_entry_offline_destroy(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1117:15: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_DRV_LOG(DEBUG, "no need to init dtb dtb chanenl %d devref %d", ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:1118:15: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.queueid, g_dtb_data.dev_refcnt); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1118:35: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ g_dtb_data.queueid, g_dtb_data.dev_refcnt); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1122:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (hw->is_pf) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1125:16: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "dpp apt init failed, ret:%d ", ret); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:1141:39: warning: ‘struct zxdh_hw’ declared inside parameter list will not be visible outside of this definition or declaration static void zxdh_priv_res_free(struct zxdh_hw *priv) ^~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_priv_res_free’: ./drivers/net/zxdh/zxdh_ethdev.c:1143:15: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ rte_free(priv->vlan_fiter); ^~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_tbl_entry_destroy’: ./drivers/net/zxdh/zxdh_ethdev.c:1155:17: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (!g_dtb_data.init_done) ^ ./drivers/net/zxdh/zxdh_ethdev.c:1158:8: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ if (hw->is_pf) { ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1159:22: error: ‘L2_ENTRY’ undeclared (first use in this function); did you mean ‘LIST_ENTRY’? sdt_no = MK_SDT_NO(L2_ENTRY, hw->hash_search_index); ^~~~~~~~ LIST_ENTRY ./drivers/net/zxdh/zxdh_ethdev.c:1160:9: warning: implicit declaration of function ‘dpp_dtb_hash_online_delete’; did you mean ‘rte_eth_dev_owner_delete’? [-Wimplicit-function-declaration] ret = dpp_dtb_hash_online_delete(0, g_dtb_data.queueid, sdt_no); ^~~~~~~~~~~~~~~~~~~~~~~~~~ rte_eth_dev_owner_delete ./drivers/net/zxdh/zxdh_ethdev.c:1160:9: warning: nested extern declaration of ‘dpp_dtb_hash_online_delete’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1160:49: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ ret = dpp_dtb_hash_online_delete(0, g_dtb_data.queueid, sdt_no); ^ ./drivers/net/zxdh/zxdh_ethdev.c:1162:16: error: ‘ERR’ undeclared (first use in this function) PMD_DRV_LOG(ERR, "%s dpp_dtb_hash_online_delete sdt_no %d failed ", ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1167:22: error: ‘MC’ undeclared (first use in this function) sdt_no = MK_SDT_NO(MC, hw->hash_search_index); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1168:49: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ ret = dpp_dtb_hash_online_delete(0, g_dtb_data.queueid, sdt_no); ^ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_np_destroy’: ./drivers/net/zxdh/zxdh_ethdev.c:1187:18: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if ((!g_dtb_data.init_done) && (!g_dtb_data.dev_refcnt)) ^ ./drivers/net/zxdh/zxdh_ethdev.c:1187:45: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if ((!g_dtb_data.init_done) && (!g_dtb_data.dev_refcnt)) ^ ./drivers/net/zxdh/zxdh_ethdev.c:1190:18: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ if (--g_dtb_data.dev_refcnt == 0) ^ ./drivers/net/zxdh/zxdh_ethdev.c:1191:21: warning: passing argument 1 of ‘dtb_data_res_free’ from incompatible pointer type [-Wincompatible-pointer-types] dtb_data_res_free(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:881:47: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void dtb_data_res_free(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1193:14: error: ‘DEBUG’ undeclared (first use in this function); did you mean ‘SO_DEBUG’? PMD_DRV_LOG(DEBUG, "g_dtb_data dev_refcnt %d", g_dtb_data.dev_refcnt); ^~~~~ SO_DEBUG ./drivers/net/zxdh/zxdh_ethdev.c:1193:59: error: invalid use of undefined type ‘struct zxdh_dtb_shared_data’ PMD_DRV_LOG(DEBUG, "g_dtb_data dev_refcnt %d", g_dtb_data.dev_refcnt); ^ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_eth_dev_init’: ./drivers/net/zxdh/zxdh_ethdev.c:1210:20: error: ‘zxdh_modern_ops’ undeclared (first use in this function); did you mean ‘zxdh_eth_dev_ops’? VTPCI_OPS(hw) = &zxdh_modern_ops; ^~~~~~~~~~~~~~~ zxdh_eth_dev_ops ./drivers/net/zxdh/zxdh_ethdev.c:1216:4: error: ‘ZXDH_MAX_MAC_ADDRS’ undeclared (first use in this function) ZXDH_MAX_MAC_ADDRS ABI_VERSION app build buildtools config devtools doc drivers dts examples kernel last_gpr.txt lib license MAINTAINERS Makefile meson.build meson_options.txt README test-report.txt usertools VERSION RTE_ETHER_ADDR_LEN, 0); ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1218:16: error: ‘ERR’ undeclared (first use in this function) PMD_INIT_LOG(ERR, "Failed to allocate %d bytes store MAC addresses", ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1222:23: error: dereferencing pointer to incomplete type ‘struct zxdh_hw’ memset(hw, 0, sizeof(*hw)); ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1223:57: warning: passing argument 2 of ‘zxdh_dev_devargs_parse’ from incompatible pointer type [-Wincompatible-pointer-types] ret = zxdh_dev_devargs_parse(eth_dev->device->devargs, hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:108:84: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static int32_t zxdh_dev_devargs_parse(struct rte_devargs *devargs, struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1242:31: error: ‘ZXDH_E310_PF_DEVICEID’ undeclared (first use in this function) if (pci_dev->id.device_id == ZXDH_E310_PF_DEVICEID || ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1243:28: error: ‘ZXDH_E312_PF_DEVICEID’ undeclared (first use in this function) pci_dev->id.device_id == ZXDH_E312_PF_DEVICEID) { ^~~~~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1261:21: warning: passing argument 1 of ‘zxdh_priv_res_init’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_priv_res_init(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:770:48: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void zxdh_priv_res_init(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1262:22: warning: passing argument 1 of ‘zxdh_sriovinfo_init’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_sriovinfo_init(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:799:49: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void zxdh_sriovinfo_init(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1263:18: warning: passing argument 1 of ‘zxdh_msg_cb_reg’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_msg_cb_reg(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:762:45: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void zxdh_msg_cb_reg(struct zxdh_hw *hw) ~~~~~~~~~~~~~~~~^~ ./drivers/net/zxdh/zxdh_ethdev.c:1270:2: warning: implicit declaration of function ‘zxdh_bar_msg_chan_exit’; did you mean ‘zxdh_msg_cb_reg’? [-Wimplicit-function-declaration] zxdh_bar_msg_chan_exit(); ^~~~~~~~~~~~~~~~~~~~~~ zxdh_msg_cb_reg ./drivers/net/zxdh/zxdh_ethdev.c:1270:2: warning: nested extern declaration of ‘zxdh_bar_msg_chan_exit’ [-Wnested-externs] ./drivers/net/zxdh/zxdh_ethdev.c:1271:21: warning: passing argument 1 of ‘zxdh_priv_res_free’ from incompatible pointer type [-Wincompatible-pointer-types] zxdh_priv_res_free(hw); ^~ ./drivers/net/zxdh/zxdh_ethdev.c:1141:48: note: expected ‘struct zxdh_hw *’ but argument is of type ‘struct zxdh_hw *’ static void zxdh_priv_res_free(struct zxdh_hw *priv) ~~~~~~~~~~~~~~~~^~~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:1277:9: warning: no previous prototype for ‘zxdh_eth_pci_probe’ [-Wmissing-prototypes] int32_t zxdh_eth_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, ^~~~~~~~~~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_eth_pci_probe’: ./drivers/net/zxdh/zxdh_ethdev.c:1281:14: error: invalid application of ‘sizeof’ to incomplete type ‘struct zxdh_hw’ sizeof(struct zxdh_hw), ^~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: At top level: ./drivers/net/zxdh/zxdh_ethdev.c:1296:9: warning: no previous prototype for ‘zxdh_eth_pci_remove’ [-Wmissing-prototypes] int32_t zxdh_eth_pci_remove(struct rte_pci_device *pci_dev) ^~~~~~~~~~~~~~~~~~~ In file included from ../lib/ethdev/ethdev_pci.h:15, from ../drivers/net/zxdh/zxdh_ethdev.c:9: ./drivers/net/zxdh/zxdh_ethdev.c:1307:18: error: ‘PCI_VENDOR_ID_ZTE’ undeclared here (not in a function); did you mean ‘RTE_PCI_VENDOR_ID’? {RTE_PCI_DEVICE(PCI_VENDOR_ID_ZTE, ZXDH_E310_PF_DEVICEID)}, ^~~~~~~~~~~~~~~~~ ./drivers/bus/pci/bus_pci_driver.h:74:16: note: in definition of macro ‘RTE_PCI_DEVICE’ .vendor_id = (vend), ^~~~ ./drivers/net/zxdh/zxdh_ethdev.c:1307:37: error: ‘ZXDH_E310_PF_DEVICEID’ undeclared here (not in a function) {RTE_PCI_DEVICE(PCI_VENDOR_ID_ZTE, ZXDH_E310_PF_DEVICEID)}, ^~~~~~~~~~~~~~~~~~~~~ ./drivers/bus/pci/bus_pci_driver.h:75:16: note: in definition of macro ‘RTE_PCI_DEVICE’ .device_id = (dev), ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1308:37: error: ‘ZXDH_E310_VF_DEVICEID’ undeclared here (not in a function) {RTE_PCI_DEVICE(PCI_VENDOR_ID_ZTE, ZXDH_E310_VF_DEVICEID)}, ^~~~~~~~~~~~~~~~~~~~~ ./drivers/bus/pci/bus_pci_driver.h:75:16: note: in definition of macro ‘RTE_PCI_DEVICE’ .device_id = (dev), ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1309:37: error: ‘ZXDH_E312_PF_DEVICEID’ undeclared here (not in a function) {RTE_PCI_DEVICE(PCI_VENDOR_ID_ZTE, ZXDH_E312_PF_DEVICEID)}, ^~~~~~~~~~~~~~~~~~~~~ ./drivers/bus/pci/bus_pci_driver.h:75:16: note: in definition of macro ‘RTE_PCI_DEVICE’ .device_id = (dev), ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:1310:37: error: ‘ZXDH_E312_VF_DEVICEID’ undeclared here (not in a function) {RTE_PCI_DEVICE(PCI_VENDOR_ID_ZTE, ZXDH_E312_VF_DEVICEID)}, ^~~~~~~~~~~~~~~~~~~~~ ./drivers/bus/pci/bus_pci_driver.h:75:16: note: in definition of macro ‘RTE_PCI_DEVICE’ .device_id = (dev), ^~~ ./drivers/net/zxdh/zxdh_ethdev.c:17:29: error: storage size of ‘g_dtb_data’ isn’t known struct zxdh_dtb_shared_data g_dtb_data = {0}; ^~~~~~~~~~ ./drivers/net/zxdh/zxdh_ethdev.c: In function ‘zxdh_eth_pci_probe’: ./drivers/net/zxdh/zxdh_ethdev.c:1283:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ [1731/2542] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_ethdev.c.o [1732/2542] Compiling C object drivers/libtmp_rte_net_qede.a.p/net_qede_qede_debug.c.o [1733/2542] Compiling C object drivers/libtmp_rte_net_vmxnet3.a.p/net_vmxnet3_vmxnet3_rxtx.c.o [1734/2542] Compiling C object drivers/libtmp_rte_net_virtio.a.p/net_virtio_virtio_rxtx.c.o [1735/2542] Compiling C object drivers/libtmp_rte_net_txgbe.a.p/net_txgbe_txgbe_rxtx.c.o [1736/2542] Generating rte_common_cnxk.sym_chk with a custom command (wrapped by meson to capture output) ninja: build stopped: subcommand failed. -------------------------------END LOGS------------------------------