[v2] net/gve: fix meson build failure on non-Linux platforms

Message ID 20221026102321.260886-1-junfeng.guo@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series [v2] net/gve: fix meson build failure on non-Linux platforms |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation warning apply issues
ci/iol-testing warning apply patch failure

Commit Message

Junfeng Guo Oct. 26, 2022, 10:23 a.m. UTC
  Meson build may fail on FreeBSD with gcc and clang, due to missing
the header file linux/pci_regs.h on non-Linux platform. Thus, in
this patch, we removed the file include and added the used Macros
derived from linux/pci_regs.h.

Fixes: 3047a5ac8e66 ("net/gve: add support for device initialization")

Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>
---
 drivers/net/gve/gve_ethdev.c |  1 -
 drivers/net/gve/gve_ethdev.h | 13 +++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit Oct. 26, 2022, 11:11 a.m. UTC | #1
On 10/26/2022 11:23 AM, Junfeng Guo wrote:
> Meson build may fail on FreeBSD with gcc and clang, due to missing
> the header file linux/pci_regs.h on non-Linux platform. Thus, in
> this patch, we removed the file include and added the used Macros
> derived from linux/pci_regs.h.
> 
> Fixes: 3047a5ac8e66 ("net/gve: add support for device initialization")
> 
> Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>


Squashed into relevant commit in next-net, thanks.
  
Gao, DaxueX Oct. 27, 2022, 3:08 a.m. UTC | #2
> From: Junfeng Guo <junfeng.guo@intel.com>
> Sent: 2022年10月26日 18:23
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>;
> ferruh.yigit@xilinx.com; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Li, Xiaoyun <xiaoyun.li@intel.com>;
> awogbemila@google.com; Richardson, Bruce <bruce.richardson@intel.com>;
> hemant.agrawal@nxp.com; stephen@networkplumber.org; Xia, Chenbo
> <chenbo.xia@intel.com>; Zhang, Helin <helin.zhang@intel.com>; Guo, Junfeng
> <junfeng.guo@intel.com>
> Subject: [PATCH v2] net/gve: fix meson build failure on non-Linux platforms
> 
> Meson build may fail on FreeBSD with gcc and clang, due to missing the header
> file linux/pci_regs.h on non-Linux platform. Thus, in this patch, we removed the
> file include and added the used Macros derived from linux/pci_regs.h.
> 
> Fixes: 3047a5ac8e66 ("net/gve: add support for device initialization")
> 
> Signed-off-by: Junfeng Guo <junfeng.guo@intel.com>

Tested-by: Daxue Gao <daxuex.gao@intel.com>
  

Patch

diff --git a/drivers/net/gve/gve_ethdev.c b/drivers/net/gve/gve_ethdev.c
index b0f7b98daa..18c879b8d1 100644
--- a/drivers/net/gve/gve_ethdev.c
+++ b/drivers/net/gve/gve_ethdev.c
@@ -1,7 +1,6 @@ 
 /* SPDX-License-Identifier: BSD-3-Clause
  * Copyright(C) 2022 Intel Corporation
  */
-#include <linux/pci_regs.h>
 
 #include "gve_ethdev.h"
 #include "base/gve_adminq.h"
diff --git a/drivers/net/gve/gve_ethdev.h b/drivers/net/gve/gve_ethdev.h
index 36b334c36b..f6cac3ff2b 100644
--- a/drivers/net/gve/gve_ethdev.h
+++ b/drivers/net/gve/gve_ethdev.h
@@ -11,6 +11,19 @@ 
 
 #include "base/gve.h"
 
+/*
+ * Following macros are derived from linux/pci_regs.h, however,
+ * we can't simply include that header here, as there is no such
+ * file for non-Linux platform.
+ */
+#define PCI_CFG_SPACE_SIZE	256
+#define PCI_CAPABILITY_LIST	0x34	/* Offset of first capability list entry */
+#define PCI_STD_HEADER_SIZEOF	64
+#define PCI_CAP_SIZEOF		4
+#define PCI_CAP_ID_MSIX		0x11	/* MSI-X */
+#define PCI_MSIX_FLAGS		2	/* Message Control */
+#define PCI_MSIX_FLAGS_QSIZE	0x07FF	/* Table size */
+
 #define GVE_DEFAULT_RX_FREE_THRESH  512
 #define GVE_DEFAULT_TX_FREE_THRESH  256
 #define GVE_TX_MAX_FREE_SZ          512