DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/4] rework ioport access for virtio
@ 2016-02-05 17:55 David Marchand
  2016-02-05 17:55 ` [dpdk-dev] [PATCH 1/4] virtio/bsd: fix typo David Marchand
                   ` (4 more replies)
  0 siblings, 5 replies; 29+ messages in thread
From: David Marchand @ 2016-02-05 17:55 UTC (permalink / raw)
  To: dev

Introduce a new ioport api in eal to mask all arch / kernel driver specifics.

- rte_eal_pci_ioport_map is responsible for initialising an rte_pci_ioport
  object that is used in subsequent calls, this function must be tweaked per
  architecture and per kernel driver, rte_ioport_t type is architecture
  specific and is used to hide those details to the application,
- rte_eal_pci_ioport_read / rte_eal_pci_ioport_write uses a rte_pci_ioport
  object to read / write those resources,
- rte_eal_pci_ioport_unmap releases resources used by a rte_pci_ioport
  object if necessary.

There is still some more work to ensure intr handle are properly initialized
and released when used in conjonction with rte_eal_map_device() api calls.

For now, only x86 uio / "none" is supported, rte_ioport x86 code has been
excessively simplified to only handle those cases at the moment.
Other archs might want to support both uio / vfio / xxx.

BSD code has been neither run nor compiled, please can someone confirm I did
not break too much stuff ?

virtio legacy code has been updated accordingly.
With this, virtio code should be ready for other archs now.

So in the end, all that is missing for ARM on linux is some vfio update and
implementation of rte_ioport stuff.


Regards, 
-- 
David Marchand

David Marchand (4):
  virtio/bsd: fix typo
  virtio: fix incorrect check when mapping pci resources
  eal: introduce ioport api
  virtio: use ioport api

 drivers/net/virtio/virtio_pci.c                    | 343 ++++-----------------
 drivers/net/virtio/virtio_pci.h                    |  38 +--
 lib/librte_eal/bsdapp/eal/eal_pci.c                |  76 +++++
 lib/librte_eal/bsdapp/eal/rte_eal_version.map      |   4 +
 .../common/include/arch/arm/rte_ioport.h           |  41 +++
 .../common/include/arch/ppc_64/rte_ioport.h        |  41 +++
 .../common/include/arch/tile/rte_ioport.h          |  41 +++
 .../common/include/arch/x86/rte_ioport.h           | 109 +++++++
 lib/librte_eal/common/include/rte_pci.h            |  68 ++++
 lib/librte_eal/linuxapp/eal/eal_pci.c              | 156 ++++++++++
 lib/librte_eal/linuxapp/eal/eal_pci_init.h         |   6 +
 lib/librte_eal/linuxapp/eal/eal_pci_uio.c          |  67 +++-
 lib/librte_eal/linuxapp/eal/eal_pci_vfio.c         |  17 +
 lib/librte_eal/linuxapp/eal/rte_eal_version.map    |   4 +
 14 files changed, 684 insertions(+), 327 deletions(-)
 create mode 100644 lib/librte_eal/common/include/arch/arm/rte_ioport.h
 create mode 100644 lib/librte_eal/common/include/arch/ppc_64/rte_ioport.h
 create mode 100644 lib/librte_eal/common/include/arch/tile/rte_ioport.h
 create mode 100644 lib/librte_eal/common/include/arch/x86/rte_ioport.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2016-02-16 22:01 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-05 17:55 [dpdk-dev] [PATCH 0/4] rework ioport access for virtio David Marchand
2016-02-05 17:55 ` [dpdk-dev] [PATCH 1/4] virtio/bsd: fix typo David Marchand
2016-02-05 17:55 ` [dpdk-dev] [PATCH 2/4] virtio: fix incorrect check when mapping pci resources David Marchand
2016-02-05 17:55 ` [dpdk-dev] [PATCH 3/4] eal: introduce ioport api David Marchand
2016-02-05 17:55 ` [dpdk-dev] [PATCH 4/4] virtio: use " David Marchand
2016-02-07  7:48 ` [dpdk-dev] [PATCH v2 0/4] rework ioport access for virtio David Marchand
2016-02-07  7:48   ` [dpdk-dev] [PATCH v2 1/4] virtio/bsd: fix typo David Marchand
2016-02-07  7:48   ` [dpdk-dev] [PATCH v2 2/4] virtio: fix incorrect check when mapping pci resources David Marchand
2016-02-07  7:48   ` [dpdk-dev] [PATCH v2 3/4] eal: introduce pci ioport api David Marchand
2016-02-08  5:56     ` Santosh Shukla
2016-02-07  7:48   ` [dpdk-dev] [PATCH v2 4/4] virtio: use " David Marchand
2016-02-08  6:01     ` Santosh Shukla
2016-02-09  3:52     ` Tetsuya Mukawa
2016-02-09  8:31       ` David Marchand
2016-02-15 13:24   ` [dpdk-dev] [PATCH v3 0/4] rework ioport access for virtio David Marchand
2016-02-15 13:24     ` [dpdk-dev] [PATCH v3 1/4] virtio/bsd: fix typo David Marchand
2016-02-15 13:24     ` [dpdk-dev] [PATCH v3 2/4] virtio: fix incorrect check when mapping pci resources David Marchand
2016-02-15 13:24     ` [dpdk-dev] [PATCH v3 3/4] eal: introduce pci ioport api David Marchand
2016-02-16  2:36       ` Yuanhan Liu
2016-02-16  6:09         ` David Marchand
2016-02-16  6:12           ` Yuanhan Liu
2016-02-15 13:24     ` [dpdk-dev] [PATCH v3 4/4] virtio: use " David Marchand
2016-02-16  2:24       ` Yuanhan Liu
2016-02-16 20:37     ` [dpdk-dev] [PATCH v4 0/4] rework ioport access for virtio David Marchand
2016-02-16 20:37       ` [dpdk-dev] [PATCH v4 1/4] virtio/bsd: fix typo David Marchand
2016-02-16 20:37       ` [dpdk-dev] [PATCH v4 2/4] virtio: fix incorrect check when mapping pci resources David Marchand
2016-02-16 20:37       ` [dpdk-dev] [PATCH v4 3/4] eal: introduce pci ioport api David Marchand
2016-02-16 20:37       ` [dpdk-dev] [PATCH v4 4/4] virtio: use " David Marchand
2016-02-16 21:59       ` [dpdk-dev] [PATCH v4 0/4] rework ioport access for virtio Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).