I left Intel and joined Nvidia, so update my email address.
Signed-off-by: Chenbo Xia
---
.mailmap| 2 +-
MAINTAINERS | 12 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.mailmap b/.mailmap
index 3f5bab26a8..2ff31b008f 100644
--- a/.mailmap
+++ b/.mailmap
I left Intel and joined Nvidia, so update my email address.
Signed-off-by: Chenbo Xia
Acked-by: Maxime Coquelin
---
.mailmap| 2 +-
MAINTAINERS | 12 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.mailmap b/.mailmap
index 3f5bab26a8..d40b3ad6c0 100644
--- a
I am leaving Intel, so replace my Intel email with personal one
temporarily.
Signed-off-by: Chenbo Xia
---
.mailmap| 2 +-
MAINTAINERS | 12 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.mailmap b/.mailmap
index 864d33ee46..8cb3c1e80f 100644
--- a/.mailmap
>> Reviewed-by: Chaoyong He
>> Reviewed-by: Long Wu
>> Reviewed-by: Peng Zhang
>> Acked-by: Anatoly Burakov
>
> Chenbo,
> Are you ok with this fix?
Sorry that I was interrupted when I was reviewing this and later I forgot..
For this patch:
Reviewed-by: Chenbo Xia
>
> Thanks.
>
> --
> David Marchand
-- a/drivers/net/virtio/virtio_rxtx.h
> +++ b/drivers/net/virtio/virtio_rxtx.h
> @@ -35,7 +35,7 @@ struct virtnet_tx {
> };
>
> int virtio_rxq_vec_setup(struct virtnet_rx *rxvq);
> -void virtio_update_packet_stats(struct virtnet_stats *stats,
> - struct rte_mbuf *mbuf);
> +void virtio_update_packet_stats(struct virtnet_stats *const stats,
> + const struct rte_mbuf *const mbuf);
>
> #endif /* _VIRTIO_RXTX_H_ */
> —
> 2.43.0
>
Reviewed-by: Chenbo Xia
}
> + ea = rte_pktmbuf_mtod(pkt, const struct rte_ether_addr *);
> + RTE_BUILD_BUG_ON(offsetof(struct virtqueue_stats, broadcast)
> !=
> + offsetof(struct virtqueue_stats, multicast) +
> sizeof(uint64_t));
> + if (unlikely(rte_is_multicast_ether_addr(ea)))
> +
> (&stats->multicast)[rte_is_broadcast_ether_addr(ea)]++;
>}
> }
>
> --
> 2.43.0
>
Reviewed-by: Chenbo Xia
-digit.
Please also fix the coding style:
WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#176: FILE: drivers/bus/pci/linux/pci_uio.c:265:
+ * closed, so open it only in the primary process */
With above fixed:
Reviewed-by: Chenbo Xia
&g
name, sizeof(devname), "/dev/uio%u", uio_num);
> + /* save fd */
> + fd = open(devname, O_RDWR);
> + if (fd < 0) {
> + PCI_LOG(ERR, "Cannot open %s: %s", devname, strerror(errno));
> + goto error;
> + }
> +
> + if (rte_intr_fd_set(dev->intr_handle, fd))
> + goto error;
> +
> /* allocate the mapping details for secondary processes*/
> *uio_res = rte_zmalloc("UIO_RES", sizeof(**uio_res), 0);
> if (*uio_res == NULL) {
> --
> 2.45.0
>
Reviewed-by: Chenbo Xia
Ten vhost APIs were announced to be stable and promoted in below
commit, so remove the related deprecation notice.
Fixes: 945ef8a04098 ("vhost: promote some APIs to stable")
Signed-off-by: Chenbo Xia
Reported-by: Maxime Coquelin
---
doc/guides/rel_notes/deprecation.rst | 8 --
fail.
This patch checks the device's max mtu before setting the ethdev
configuration. If the device has a max mtu, use that value to
configure.
Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
Signed-off-by: Chenbo Xia
Reported-by: Xingguang He
---
examples/vhost/main.c |
bus header in examples.
Patch 5-7 clean up the unused PCI related structure in kni library and related
tests and examples.
Patch 8 finally removes most of ABIs in PCI bus.
Chenbo Xia (8):
bus/pci: add new memory resource access APIs
app/testpmd: use PCI memory resource access APIs
examples
Some applications wants to access PCI memory resource. Currently
applications use struct rte_pci_device to access it. Since the
structure will be made internal later, this patch adds two APIs
for memory resource access.
Signed-off-by: Chenbo Xia
---
doc/guides/rel_notes/release_21_11.rst | 5
Currently testpmd uses struct rte_pci_device to access PCI memory
resource. Since this structure will be internal later, this patch
replaces use of rte_pci_device with new PCI memory resource access
APIs to read/write BAR 0.
Signed-off-by: Chenbo Xia
---
app/test-pmd/config.c | 38
Currently ethtool example uses struct rte_pci_device to know PCI
address of a device. As this API will be removed later in PCI bus,
this patch uses PCI library API to get the PCI address.
Signed-off-by: Chenbo Xia
---
examples/ethtool/lib/rte_ethtool.c | 14 +-
examples/ethtool
The header rte_bus_pci.h is included in kni example but nothing
in it is used. So remove it.
Signed-off-by: Chenbo Xia
---
examples/kni/main.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/examples/kni/main.c b/examples/kni/main.c
index beabb3c848..6dc335c0b5 100644
--- a/examples/kni
PCI device id and address in structure rte_kni_conf are never used
in the test and kni library. So remove the related code.
Signed-off-by: Chenbo Xia
---
app/test/test_kni.c | 57 -
1 file changed, 57 deletions(-)
diff --git a/app/test/test_kni.c b
PCI ID and address in structure rte_kni_conf are never used and
will be removed in kni library. So remove the setting of them
first in the example.
Signed-off-by: Chenbo Xia
---
examples/ip_pipeline/kni.c | 16
1 file changed, 16 deletions(-)
diff --git a/examples/ip_pipeline
PCI ID and address in structure rte_kni_conf are never used. And in
order not to break ABI, replace these variables with reserved bytes.
Signed-off-by: Chenbo Xia
---
lib/kni/rte_kni.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/lib/kni/rte_kni.h b/lib/kni/rte_kni.h
-by: Chenbo Xia
---
app/test/virtual_pmd.c| 2 +-
doc/guides/rel_notes/release_21_11.rst| 2 +
drivers/baseband/acc100/rte_acc100_pmd.c | 2 +-
.../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 2 +-
drivers/baseband/fpga_lte_fec/fpga_lte_fec.c | 2
backport (David)
Chenbo Xia (7):
bus/pci: add new memory resource access APIs
app/testpmd: use PCI memory resource access APIs
examples/ethtool: use PCI library API to get PCI address
examples/kni: remove unused PCI bus header
kni: remove unused PCI info from test and example
kni: replace
Some applications wants to access PCI memory resource. Currently
applications use struct rte_pci_device to access it. Since the
structure will be made internal later, this patch adds two APIs
for memory resource access.
Signed-off-by: Chenbo Xia
Acked-by: Ray Kinsella
---
doc/guides/rel_notes
Currently testpmd uses struct rte_pci_device to access PCI memory
resource. Since this structure will be internal later, this patch
replaces use of rte_pci_device with new PCI memory resource access
APIs to read/write BAR 0.
Signed-off-by: Chenbo Xia
---
app/test-pmd/config.c | 50
Currently ethtool example uses struct rte_pci_device to know PCI
address of a device. As this API will be removed later in PCI bus,
this patch uses PCI library API to get the PCI address.
Signed-off-by: Chenbo Xia
---
examples/ethtool/lib/rte_ethtool.c | 14 +-
examples/ethtool
The header rte_bus_pci.h is included in kni example but nothing
in it is used. So remove it.
Signed-off-by: Chenbo Xia
Acked-by: Ferruh Yigit
---
examples/kni/main.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/examples/kni/main.c b/examples/kni/main.c
index beabb3c848..6dc335c0b5 100644
PCI device id and address in structure rte_kni_conf are never used
in the test, example and kni library. So remove the related code.
Fixes: ea6b39b5b847 ("kni: remove ethtool support")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
Acked-by: Ferruh Yigit
---
app/test/test_kni.c
PCI ID and address in structure rte_kni_conf are never used. And in
order not to break ABI, replace these variables with reserved bytes.
Signed-off-by: Chenbo Xia
---
lib/kni/rte_kni.h | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/lib/kni/rte_kni.h b/lib/kni/rte_kni.h
-by: Chenbo Xia
Acked-by: Ray Kinsella
Acked-by: Rosen Xu
---
app/test/virtual_pmd.c| 2 +-
doc/guides/rel_notes/release_21_11.rst| 2 +
drivers/baseband/acc100/rte_acc100_pmd.c | 2 +-
.../fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 2 +-
drivers
when fron-end does not have the feature
named VIRTIO_NET_F_SPEED_DUPLEX.
Fixes: 1357b4b36246 ("net/virtio: support Virtio link speed feature")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
drivers/net/virtio/virtio_ethdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/
This patch announces the experimental tag removal of 10 vhost APIs,
which have been experimental for more than 2 years. All APIs could
be made stable in DPDK 21.11.
Signed-off-by: Chenbo Xia
Acked-by: Maxime Coquelin
---
doc/guides/rel_notes/deprecation.rst | 8
1 file changed, 8
This patch announces the experimental tag removal of 10 vhost APIs,
which have been experimental for more than 2 years. All APIs could
be made stable in DPDK 21.11.
Signed-off-by: Chenbo Xia
Acked-by: Maxime Coquelin
---
doc/guides/rel_notes/deprecation.rst | 8
1 file changed, 8
This patch fixes unchecked return value for rte_vhost_get_mem_table(),
which is reported by coverity.
Coverity issue: 364233
Fixes: ca059fa5e290 ("examples/vhost: demonstrate the new generic APIs")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
examples/vhost/virtio_net.c | 8 +
Hi Maxime,
> On Apr 9, 2024, at 19:48, Maxime Coquelin wrote:
>
> External email: Use caution opening links or attachments
>
>
> This patch heavily reworks fdset initialization:
> - fdsets are now dynamically allocated by the FD manager
> - the event dispatcher is now created by the FD manager
Hi Maxime,
> On Apr 9, 2024, at 19:48, Maxime Coquelin wrote:
>
> External email: Use caution opening links or attachments
>
>
> From: David Marchand
>
> Switch to epoll so that the concern over the poll() fd array
> is removed.
> Add a simple list of used entries and track the next free ent
Hi,
I am not sure why we are calling ioctl(vfio_dev_fd, VFIO_DEVICE_RESET) in
pci_rte_vfio_setup_device()
, which is after opening the VFIO device fd. As I see in linux kernel, opening
the vfio device fd will
trigger the device reset and put device into clean state. Another
VFIO_DEVICE_RESET se
mmon_uio.c | 15 +--
> drivers/bus/pci/pci_params.c | 9 +-
> drivers/bus/pci/private.h| 6 +
> drivers/bus/pci/windows/pci.c| 13 +-
> drivers/bus/pci/windows/pci_netuio.c | 7 +-
> 10 files changed, 202 insertions(+), 277 deletions(-)
Reviewed-by: Chenbo Xia
_pci_device *dev)
>}
>return -1;
> }
> - dev->mem_resource[i].addr = mapaddr;
> + dev->mem_resource[res_idx].addr = mapaddr;
> +
> + i++;
>}
>return 0;
>}
> —
> 2.39.1
>
Reviewed-by: Chenbo Xia
ase address")
The commit id length should be 12.
Since QEMU always send offset 0, I think it’s no need to backport the
patch, so no cc-stable is fine.
With above fixed:
Reviewed-by: Chenbo Xia
> Signed-off-by: BillXiang
> ---
> lib/vhost/vhost_user.c | 2 +-
> 1 file changed,
Sorry I missed all previous versions…
+ARM guy
> On Nov 4, 2023, at 02:29, Abdullah Sevincer
> wrote:
>
> External email: Use caution opening links or attachments
>
>
> This commit implements an internal api to enable and disable PASID for
> a device e.g. device driver event/dlb2.
>
> For k
+Nipun
Please cc me and Nipun if there is a new version.
> On Nov 14, 2023, at 01:27, Abdullah Sevincer
> wrote:
>
> External email: Use caution opening links or attachments
>
>
> This commit revises PASID control function to accept PASID offset to
> pasid *structure* instead of taking exact
On Nov 15, 2023, at 01:39, Sevincer, Abdullah
wrote:
>
> External email: Use caution opening links or attachments
>
>
>> +I don’t know about the details, so it means for different devices that
>> support PASID, they have different offsets?
>
>> +Btw, Is this cap still not exposed to user spa
> On Nov 14, 2023, at 18:23, Mingjin Ye wrote:
>
> External email: Use caution opening links or attachments
>
>
> This patch adds an API to support getting device information.
>
> The driver can use the "rte_vfio_get_device_info" helper to get
> device information from EAL.
>
> Cc: sta...@d
On Nov 17, 2023, at 01:43, Chen, Mike Ximing wrote:
>
> External email: Use caution opening links or attachments
>
>
>> -Original Message-----
>> From: Chenbo Xia
>> Sent: Tuesday, November 14, 2023 8:54 PM
>> To: Sevincer, Abdullah
>> Cc: de
13/* Page Request Interface */
> -#define RTE_PCI_EXT_CAP_ID_PASID 0x1B/* Process Address Space ID */
> +#define RTE_PCI_EXT_CAP_ID_PASID 0x1b/* Process Address Space ID */
>
> /* Advanced Error Reporting (RTE_PCI_EXT_CAP_ID_ERR) */
> #define RTE_PCI_ERR_UNCOR_STATUS 0x04/* Uncorrectable Error Status
> */
> --
> 2.25.1
>
Reviewed-by: Chenbo Xia
On Nov 22, 2023, at 18:22, Mingjin Ye wrote:
>
> External email: Use caution opening links or attachments
>
>
> This patch adds an API to support getting device information.
>
> The driver can use the "rte_vfio_get_device_info" helper to get
> device information from EAL.
>
> Signed-off-by: M
driver choose which way it
perfers since either option has its own Pros & Cons.
Please share your comments, Thanks!
Chenbo Xia (4):
bus/pci: introduce an internal representation of PCI device
bus/pci: avoid depending on private value in kernel source
bus/pci: introduce helper for M
More fields will be added.
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/bsd/pci.c| 13 -
drivers/bus/pci/linux/pci.c | 28
drivers/bus/pci/pci_common.c | 12 ++--
drivers/bus/pci/private.h| 14 +-
4 files changed, 43 inser
The value 40 used in VFIO_GET_REGION_ADDR() is a private value
(VFIO_PCI_OFFSET_SHIFT) defined in Linux kernel source [1]. It
is not part of VFIO API, and we should not depend on it.
[1] https://github.com/torvalds/linux/blob/v6.2/include/linux/vfio_pci_core.h
Signed-off-by: Chenbo Xia
The MMIO regions may not be mmap-able for VFIO-PCI devices.
In this case, the driver should explicitly do read and write
to access these regions.
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/bsd/pci.c| 22 +++
drivers/bus/pci/linux/pci.c | 46
This patch adds sparse mmap support in PCI bus. Sparse mmap is a
capability defined in VFIO which allows multiple mmap areas in one
VFIO region.
Signed-off-by: Chenbo Xia
---
drivers/baseband/acc/rte_acc100_pmd.c | 6 +-
drivers/baseband/acc/rte_vrb_pmd.c| 6
MMIO read and write APIs were defined in PCI bus. But the corresponding
implementations are not done in windows. This patch fixes this.
Bugzilla ID: 1245
Fixes: 095cf6e68b28 ("bus/pci: introduce MMIO read/write")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/win
Add myself as maintainer of PCI bus driver and co-maintainer of PCI
library.
Signed-off-by: Chenbo Xia
---
MAINTAINERS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 906b31f97c..fea84b8cb9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -586,6 +586,7 @@ F
As reported by symbol bot, APIs listed in this patch have been
experimental for more than two years. This patch promotes these
18 APIs to stable.
Signed-off-by: Chenbo Xia
---
lib/vhost/rte_vhost.h| 13 -
lib/vhost/rte_vhost_crypto.h | 5 -
lib/vhost/version.map
disabled queues are not
initialized.
Fixes: 968bbc7e2e50 ("vhost: avoid IOTLB mempool allocation while IOMMU
disabled")
Signed-off-by: Chenbo Xia
---
lib/vhost/vhost_user.c | 13 +
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/lib/vhost/vhost_user.c b
driver-api/vfio-mediated-device.rst
Chenbo Xia (1):
bus/pci: add sparse mmap support for mediated PCI devices
Tiwei Bie (5):
bus/pci: introduce an internal representation of PCI device
bus/pci: avoid depending on private value in kernel source
bus/pci: introduce helper for MMIO read and wri
cture. More fields will be added in the coming
patches.
Suggested-by: David Marchand
Signed-off-by: Tiwei Bie
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/bsd/pci.c| 14 +-
drivers/bus/pci/linux/pci.c | 27 ---
drivers/bus/pci/pci_common.c | 2 +-
driver
From: Tiwei Bie
The value 40 used in VFIO_GET_REGION_ADDR() is a private value
(VFIO_PCI_OFFSET_SHIFT) defined in Linux kernel source [1]. It
is not part of VFIO API, and we should not depend on it.
[1]
https://github.com/torvalds/linux/blob/v5.12/drivers/vfio/pci/vfio_pci_private.h
Signed-off
From: Tiwei Bie
The MMIO regions may not be mmap-able for mediated PCI device.
In this case, the application should explicitly do read and write
to access these regions.
Signed-off-by: Tiwei Bie
---
drivers/bus/pci/bsd/pci.c| 22 +++
drivers/bus/pci/linux/pci.c | 46 ++
From: Tiwei Bie
This patch adds a helper for reading string from sysfs.
Signed-off-by: Cunming Liang
Signed-off-by: Tiwei Bie
---
lib/eal/common/eal_filesystem.h | 10 ++
lib/eal/freebsd/eal.c | 22 ++
lib/eal/linux/eal.c | 22
ce address;
Signed-off-by: Cunming Liang
Signed-off-by: Tiwei Bie
Signed-off-by: Chenbo Xia
---
drivers/bus/pci/linux/pci.c | 30 ++-
drivers/bus/pci/linux/pci_init.h | 15 +-
drivers/bus/pci/linux/pci_vfio.c | 147 --
drivers/bus/pci/linux/pci_vfio_md
This patch adds sparse mmap support in PCI bus. Sparse mmap is a
capability defined in VFIO which allows multiple mmap areas in one
VFIO region. Mediated pci devices could use this capability to let
mdev parent driver have control over access of non-mmapable part
of regions.
Signed-off-by: Chenbo
All ABIs in PCI bus driver, which are defined in rte_buc_pci.h,
will be removed and the header will be made internal.
Signed-off-by: Chenbo Xia
---
doc/guides/rel_notes/deprecation.rst | 5 +
1 file changed, 5 insertions(+)
diff --git a/doc/guides/rel_notes/deprecation.rst
b/doc/guides
Hi Maxime,
> On Sep 5, 2024, at 22:26, Maxime Coquelin wrote:
>
> External email: Use caution opening links or attachments
>
>
> This patch enables VDUSE reconnection support making use of
> the newly introduced reconnection mechanism in Vhost
> library.
>
> At DPDK VDUSE device creation time
Fix unchecked return value for fcntl.
Coverity issue: 277210
Fixes: bd8f50a45d0f ("net/virtio-user: support server mode")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
drivers/net/virtio/virtio_user/vhost_user.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
di
Fix unchecked return value issue for rte_eth_dev_configure.
Coverity issue: 195021
Fixes: 2a977b891f99 ("app/testpmd: fix DCB configuration")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
app/test-pmd/testpmd.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff -
Fix unchecked return value issue for rte_pci_read_config.
Coverity issue: 302861
Fixes: 25500d4b8076 ("crypto/virtio: support device init")
Cc: sta...@dpdk.org
Signed-off-by: Chenbo Xia
---
drivers/crypto/virtio/virtio_pci.c | 8 ++--
1 file changed, 6 insertions(+), 2 deletion
essQEMU
[3]: https://github.com/oracle/qemu/tree/vfio-user-v0.2
Chenbo Xia (9):
lib: introduce vfio-user library
vfio_user: implement lifecycle related APIs
vfio_user: implement device and region related APIs
vfio_user: implement DMA table and socket address API
vfio_user: implement interru
This patch introduces vfio-user library, which follows vfio-user
protocol v1.0. As vfio-user has server and client implementaion,
this patch introduces basic structures and internal functions that
will be used by both server and client.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
This patch implements three lifecycle related APIs for vfio-user server,
which are rte_vfio_user_register(), rte_vfio_user_unregister() and
rte_vfio_user_start(). Socket an device management is implemented
along with the API introduction.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
This patch introduces device and region related APIs, which are
rte_vfio_user_set_dev_info() and rte_vfio_user_set_reg_info().
The corresponding vfio-user command handling is also added with
the definition of all vfio-user command identity.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
device ID and socket address in notify
callbacks.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
lib/librte_vfio_user/rte_vfio_user.h| 75 -
lib/librte_vfio_user/version.map| 2 +
lib/librte_vfio_user/vfio_user_base.h | 2 +
lib/librte_vfio_user/vfio_user_server.c
This patch implements two interrupt related APIs, which are
rte_vfio_user_get_irq() and rte_vfio_user_set_irq_info().
The former is for devices to get interrupt configuration
(e.g., irqfds). The latter is for setting interrupt information
before vfio-user starts.
Signed-off-by: Chenbo Xia
Signed
This patch implements two APIs, rte_vfio_user_attach_dev() and
rte_vfio_user_detach_dev() for vfio-user client to connect to
or disconnect from a vfio-user device on server side.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
lib/librte_vfio_user/meson.build| 3 +-
lib
rte_vfio_user_set_irqs
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
lib/librte_vfio_user/rte_vfio_user.h| 168 ++
lib/librte_vfio_user/version.map| 9 +
lib/librte_vfio_user/vfio_user_client.c | 412
3 files changed, 589 insertions(+)
diff --git a/lib
This patch introduces functional test for vfio_user client and
server. Note that the test can only be run with server and client
both started and server should be started first.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
app/test/meson.build | 4 +
app/test/test_vfio_user.c
Add vfio-user library guide and update release notes.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
doc/guides/prog_guide/index.rst | 1 +
doc/guides/prog_guide/vfio_user_lib.rst | 215
doc/guides/rel_notes/release_21_02.rst | 11 ++
3 files
which is used to open the transport interface to
vfio-user
client in QEMU/DPDK.
- data path driver.
The data path handling is splited to another standalone driver for modular
design.
Chenbo Xia (8):
lib: introduce emudev library
doc: add emudev library guide
emu: introduce emulated i
driver) to plug in its
high performance data path.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
Signed-off-by: Miao Li
---
MAINTAINERS | 5 +
lib/librte_emudev/meson.build | 5 +
lib/librte_emudev/rte_emudev.c | 486
lib
Add emudev library guide and update release notes.
Signed-off-by: Chenbo Xia
---
doc/guides/prog_guide/emudev.rst | 122 +
doc/guides/prog_guide/index.rst| 1 +
doc/guides/rel_notes/release_21_02.rst | 12 +++
3 files changed, 135 insertions(+)
create
This patch introduces emulated iavf driver. It is a vdev driver
emulating all iavf device behavior except data path handling.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
MAINTAINERS | 7 +
drivers/emu/iavf/iavf_emu.c | 29
drivers/emu/iavf
This patch adds vfio-user APIs call in driver probe and remove.
rte_vfio_user_register() and rte_vfio_user_unregister() are called
to create/destroy a vfio-user device. Notify callbacks that
libvfio_user defines are also implemented.
Signed-off-by: Chenbo Xia
Signed-off-by: Miao Li
---
drivers
This patch adds the allocation and release of device resources.
Device resources include PCI BARs' memory and interrupt related
resources. Device internal logic is also added.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
drivers/emu/iavf/iavf_emu.c | 1 +
drivers/emu
This patch implements emudev opertions to make emulated iavf
fit into rte_emudev framework. Lifecycle related and device
resource related operations are both implemented.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
drivers/emu/iavf/iavf_emu.c | 218
This patch introduces functional test for emudev. The
implementation of iavf emudev selftest is also added.
Signed-off-by: Miao Li
Signed-off-by: Chenbo Xia
---
app/test/meson.build | 5 +-
app/test/test_emudev.c | 29 +
drivers/emu/iavf/iavf_emu.c
Update release notes for emulated iavf driver.
Signed-off-by: Chenbo Xia
---
doc/guides/rel_notes/release_21_02.rst | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/doc/guides/rel_notes/release_21_02.rst
b/doc/guides/rel_notes/release_21_02.rst
index 3d26b6b580
ng
rawdev APIs
could only cover lifecycle management APIs and some of backend facing APIs.
Other APIs,
even if added to rawdev API are not required by other rawdev applications.
--
v2:
- fix driver meson build file
Chenbo Xia (8):
lib: introduce emudev library
driver) to plug in its
high performance data path.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
Signed-off-by: Miao Li
---
MAINTAINERS | 5 +
lib/librte_emudev/meson.build | 5 +
lib/librte_emudev/rte_emudev.c | 486
lib
Add emudev library guide and update release notes.
Signed-off-by: Chenbo Xia
---
doc/guides/prog_guide/emudev.rst | 122 +
doc/guides/prog_guide/index.rst| 1 +
doc/guides/rel_notes/release_21_02.rst | 12 +++
3 files changed, 135 insertions(+)
create
This patch introduces emulated iavf driver. It is a vdev driver
emulating all iavf device behavior except data path handling.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
MAINTAINERS | 7 +
drivers/emu/iavf/iavf_emu.c | 29
drivers/emu/iavf
This patch adds vfio-user APIs call in driver probe and remove.
rte_vfio_user_register() and rte_vfio_user_unregister() are called
to create/destroy a vfio-user device. Notify callbacks that
libvfio_user defines are also implemented.
Signed-off-by: Chenbo Xia
Signed-off-by: Miao Li
---
drivers
This patch adds the allocation and release of device resources.
Device resources include PCI BARs' memory and interrupt related
resources. Device internal logic is also added.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
drivers/emu/iavf/iavf_emu.c | 1 +
drivers/emu
This patch implements emudev opertions to make emulated iavf
fit into rte_emudev framework. Lifecycle related and device
resource related operations are both implemented.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
drivers/emu/iavf/iavf_emu.c | 218
This patch introduces functional test for emudev. The
implementation of iavf emudev selftest is also added.
Signed-off-by: Miao Li
Signed-off-by: Chenbo Xia
---
app/test/meson.build | 5 +-
app/test/test_emudev.c | 29 +
drivers/emu/iavf/iavf_emu.c
Update release notes for emulated iavf driver.
Signed-off-by: Chenbo Xia
---
doc/guides/rel_notes/release_21_02.rst | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/doc/guides/rel_notes/release_21_02.rst
b/doc/guides/rel_notes/release_21_02.rst
index 3d26b6b580
de in vfio-user server APIs (Beilei)
- Fix some typos
Chenbo Xia (9):
lib: introduce vfio-user library
vfio_user: implement lifecycle related APIs
vfio_user: implement device and region related APIs
vfio_user: implement DMA table and socket address API
vfio_user: implement interrupt re
This patch introduces vfio-user library, which follows vfio-user
protocol v1.0. As vfio-user has server and client implementation,
this patch introduces basic structures and internal functions that
will be used by both server and client.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
This patch implements three lifecycle related APIs for vfio-user server,
which are rte_vfio_user_register(), rte_vfio_user_unregister() and
rte_vfio_user_start(). Socket an device management is implemented
along with the API introduction.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
This patch introduces device and region related APIs, which are
rte_vfio_user_set_dev_info() and rte_vfio_user_set_reg_info().
The corresponding vfio-user command handling is also added with
the definition of all vfio-user command identity.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
device ID and socket address in notify
callbacks.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
lib/librte_vfio_user/rte_vfio_user.h| 77 -
lib/librte_vfio_user/version.map| 2 +
lib/librte_vfio_user/vfio_user_base.h | 2 +
lib/librte_vfio_user/vfio_user_server.c
This patch implements two interrupt related APIs, which are
rte_vfio_user_get_irq() and rte_vfio_user_set_irq_info().
The former is for devices to get interrupt configuration
(e.g., irqfds). The latter is for setting interrupt information
before vfio-user starts.
Signed-off-by: Chenbo Xia
Signed
This patch implements two APIs, rte_vfio_user_attach_dev() and
rte_vfio_user_detach_dev() for vfio-user client to connect to
or disconnect from a vfio-user device on server side.
Signed-off-by: Chenbo Xia
Signed-off-by: Xiuchun Lu
---
lib/librte_vfio_user/meson.build| 3 +-
lib
1 - 100 of 143 matches
Mail list logo