[dpdk-dev,v8,08/12] eal: Consolidate pci_map and mapped_pci_resource of linuxapp and bsdapp

Message ID 1436163861-3025-9-git-send-email-mukawa@igel.co.jp (mailing list archive)
State Changes Requested, archived
Headers

Commit Message

Tetsuya Mukawa July 6, 2015, 6:24 a.m. UTC
  From: "Tetsuya.Mukawa" <mukawa@igel.co.jp>

This patch consolidates below structures, and defines them in common code.
 - struct pci_map
 - strucy mapped_pci_resouces

Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
---
 lib/librte_eal/bsdapp/eal/eal_pci.c        | 24 ------------------------
 lib/librte_eal/common/include/rte_pci.h    | 29 +++++++++++++++++++++++++++++
 lib/librte_eal/linuxapp/eal/eal_pci_init.h | 23 -----------------------
 3 files changed, 29 insertions(+), 47 deletions(-)
  

Comments

David Marchand July 7, 2015, 8:05 a.m. UTC | #1
On Mon, Jul 6, 2015 at 8:24 AM, Tetsuya Mukawa <mukawa@igel.co.jp> wrote:

> From: "Tetsuya.Mukawa" <mukawa@igel.co.jp>
>
> This patch consolidates below structures, and defines them in common code.
>  - struct pci_map
>  - strucy mapped_pci_resouces
>
> Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
> ---
>  lib/librte_eal/bsdapp/eal/eal_pci.c        | 24 ------------------------
>  lib/librte_eal/common/include/rte_pci.h    | 29
> +++++++++++++++++++++++++++++
>  lib/librte_eal/linuxapp/eal/eal_pci_init.h | 23 -----------------------
>  3 files changed, 29 insertions(+), 47 deletions(-)
>
> diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c
> b/lib/librte_eal/bsdapp/eal/eal_pci.c
> index c76f936..6067e31 100644
> --- a/lib/librte_eal/bsdapp/eal/eal_pci.c
> +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
> @@ -83,30 +83,6 @@
>   * network card, only providing access to PCI BAR to applications, and
>   * enabling bus master.
>   */
> -
> -struct pci_map {
> -       void *addr;
> -       char *path;
> -       uint64_t offset;
> -       uint64_t size;
> -       uint64_t phaddr;
> -};
> -
> -/*
> - * For multi-process we need to reproduce all PCI mappings in secondary
> - * processes, so save them in a tailq.
> - */
> -struct mapped_pci_resource {
> -       TAILQ_ENTRY(mapped_pci_resource) next;
> -
> -       struct rte_pci_addr pci_addr;
> -       char path[PATH_MAX];
> -       int nb_maps;
> -       struct pci_map maps[PCI_MAX_RESOURCE];
> -};
> -
> -TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
> -
>  static struct rte_tailq_elem rte_uio_tailq = {
>         .name = "UIO_RESOURCE_LIST",
>  };
> diff --git a/lib/librte_eal/common/include/rte_pci.h
> b/lib/librte_eal/common/include/rte_pci.h
> index 7801fa0..d95747e 100644
> --- a/lib/librte_eal/common/include/rte_pci.h
> +++ b/lib/librte_eal/common/include/rte_pci.h
> @@ -2,6 +2,7 @@
>   *   BSD LICENSE
>   *
>   *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
> + *   Copyright(c) 2015 IGEL Co., Ltd.
>   *   All rights reserved.
>   *
>   *   Redistribution and use in source and binary forms, with or without
> @@ -220,6 +221,34 @@ struct rte_pci_driver {
>  /** Device driver supports detaching capability */
>  #define RTE_PCI_DRV_DETACHABLE 0x0010
>
> +/**
> + * A structure describing a PCI mapping.
> + */
> +struct pci_map {
> +       void *addr;
> +       char *path;
> +       uint64_t offset;
> +       uint64_t size;
> +       uint64_t phaddr;
> +};
> +
> +/**
> + * A structure describing a mapped PCI resource.
> + * For multi-process we need to reproduce all PCI mappings in secondary
> + * processes, so save them in a tailq.
> + */
> +struct mapped_pci_resource {
> +       TAILQ_ENTRY(mapped_pci_resource) next;
> +
> +       struct rte_pci_addr pci_addr;
> +       char path[PATH_MAX];
> +       int nb_maps;
> +       struct pci_map maps[PCI_MAX_RESOURCE];
> +};
> +
> +/** mapped pci device list */
> +TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
> +
>  /**< Internal use only - Macro used by pci addr parsing functions **/
>  #define GET_PCIADDR_FIELD(in, fd, lim, dlm)                   \
>  do {                                                               \
> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_init.h
> b/lib/librte_eal/linuxapp/eal/eal_pci_init.h
> index aa7b755..d9d1878 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_pci_init.h
> +++ b/lib/librte_eal/linuxapp/eal/eal_pci_init.h
> @@ -36,29 +36,6 @@
>
>  #include "eal_vfio.h"
>
> -struct pci_map {
> -       void *addr;
> -       char *path;
> -       uint64_t offset;
> -       uint64_t size;
> -       uint64_t phaddr;
> -};
> -
> -/*
> - * For multi-process we need to reproduce all PCI mappings in secondary
> - * processes, so save them in a tailq.
> - */
> -struct mapped_pci_resource {
> -       TAILQ_ENTRY(mapped_pci_resource) next;
> -
> -       struct rte_pci_addr pci_addr;
> -       char path[PATH_MAX];
> -       int nb_maps;
> -       struct pci_map maps[PCI_MAX_RESOURCE];
> -};
> -
> -TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
> -
>  /*
>   * Helper function to map PCI resources right after hugepages in virtual
> memory
>   */
> --
> 2.1.4
>
>

Acked-by: David Marchand <david.marchand@6wind.com>
  

Patch

diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
index c76f936..6067e31 100644
--- a/lib/librte_eal/bsdapp/eal/eal_pci.c
+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
@@ -83,30 +83,6 @@ 
  * network card, only providing access to PCI BAR to applications, and
  * enabling bus master.
  */
-
-struct pci_map {
-	void *addr;
-	char *path;
-	uint64_t offset;
-	uint64_t size;
-	uint64_t phaddr;
-};
-
-/*
- * For multi-process we need to reproduce all PCI mappings in secondary
- * processes, so save them in a tailq.
- */
-struct mapped_pci_resource {
-	TAILQ_ENTRY(mapped_pci_resource) next;
-
-	struct rte_pci_addr pci_addr;
-	char path[PATH_MAX];
-	int nb_maps;
-	struct pci_map maps[PCI_MAX_RESOURCE];
-};
-
-TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
-
 static struct rte_tailq_elem rte_uio_tailq = {
 	.name = "UIO_RESOURCE_LIST",
 };
diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
index 7801fa0..d95747e 100644
--- a/lib/librte_eal/common/include/rte_pci.h
+++ b/lib/librte_eal/common/include/rte_pci.h
@@ -2,6 +2,7 @@ 
  *   BSD LICENSE
  *
  *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ *   Copyright(c) 2015 IGEL Co., Ltd.
  *   All rights reserved.
  *
  *   Redistribution and use in source and binary forms, with or without
@@ -220,6 +221,34 @@  struct rte_pci_driver {
 /** Device driver supports detaching capability */
 #define RTE_PCI_DRV_DETACHABLE	0x0010
 
+/**
+ * A structure describing a PCI mapping.
+ */
+struct pci_map {
+	void *addr;
+	char *path;
+	uint64_t offset;
+	uint64_t size;
+	uint64_t phaddr;
+};
+
+/**
+ * A structure describing a mapped PCI resource.
+ * For multi-process we need to reproduce all PCI mappings in secondary
+ * processes, so save them in a tailq.
+ */
+struct mapped_pci_resource {
+	TAILQ_ENTRY(mapped_pci_resource) next;
+
+	struct rte_pci_addr pci_addr;
+	char path[PATH_MAX];
+	int nb_maps;
+	struct pci_map maps[PCI_MAX_RESOURCE];
+};
+
+/** mapped pci device list */
+TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
+
 /**< Internal use only - Macro used by pci addr parsing functions **/
 #define GET_PCIADDR_FIELD(in, fd, lim, dlm)                   \
 do {                                                               \
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_init.h b/lib/librte_eal/linuxapp/eal/eal_pci_init.h
index aa7b755..d9d1878 100644
--- a/lib/librte_eal/linuxapp/eal/eal_pci_init.h
+++ b/lib/librte_eal/linuxapp/eal/eal_pci_init.h
@@ -36,29 +36,6 @@ 
 
 #include "eal_vfio.h"
 
-struct pci_map {
-	void *addr;
-	char *path;
-	uint64_t offset;
-	uint64_t size;
-	uint64_t phaddr;
-};
-
-/*
- * For multi-process we need to reproduce all PCI mappings in secondary
- * processes, so save them in a tailq.
- */
-struct mapped_pci_resource {
-	TAILQ_ENTRY(mapped_pci_resource) next;
-
-	struct rte_pci_addr pci_addr;
-	char path[PATH_MAX];
-	int nb_maps;
-	struct pci_map maps[PCI_MAX_RESOURCE];
-};
-
-TAILQ_HEAD(mapped_pci_res_list, mapped_pci_resource);
-
 /*
  * Helper function to map PCI resources right after hugepages in virtual memory
  */