From: David Marchand <david.marchand@6wind.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v4 0/4] rework ioport access for virtio
Date: Tue, 16 Feb 2016 21:37:00 +0100 [thread overview]
Message-ID: <1455655024-5164-1-git-send-email-david.marchand@6wind.com> (raw)
In-Reply-To: <1455542666-28895-1-git-send-email-david.marchand@6wind.com>
Introduce a new pci 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_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.
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 on linux is some vfio update for support
of all architectures that have vfio.
Changes since v3:
- rebased on HEAD
- renamed "offset" field in rte_pci_ioport structure as "base"
Changes since v2:
- rebased on HEAD
- fixed a remaining reference to rte_ioport_t in comment
- fixed virtio driver for bsd
Changes since v1:
- dropped rte_ioport and removed the arch headers, if performance is an
issue, we will see how to enhance this in later patches
Regards,
--
David Marchand
David Marchand (4):
virtio/bsd: fix typo
virtio: fix incorrect check when mapping pci resources
eal: introduce pci ioport api
virtio: use pci ioport api
drivers/net/virtio/virtio_pci.c | 358 ++++--------------------
drivers/net/virtio/virtio_pci.h | 38 +--
lib/librte_eal/bsdapp/eal/eal_pci.c | 135 +++++++++
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 4 +
lib/librte_eal/common/include/rte_pci.h | 65 +++++
lib/librte_eal/linuxapp/eal/eal_pci.c | 170 +++++++++++
lib/librte_eal/linuxapp/eal/eal_pci_init.h | 16 ++
lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 132 ++++++++-
lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 37 +++
lib/librte_eal/linuxapp/eal/rte_eal_version.map | 4 +
10 files changed, 620 insertions(+), 339 deletions(-)
--
1.9.1
next prev parent reply other threads:[~2016-02-16 20:37 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-05 17:55 [dpdk-dev] [PATCH " 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 ` David Marchand [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1455655024-5164-1-git-send-email-david.marchand@6wind.com \
--to=david.marchand@6wind.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).