#
1f37cb2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentatio
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
aa0d4b8a |
| 03-Feb-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix secondary process crash with PCI devices
The Virtio rework series mistakenly moved the rte_pci_device pointer to struct virtio_hw, which is shared between the two processes. But this
net/virtio: fix secondary process crash with PCI devices
The Virtio rework series mistakenly moved the rte_pci_device pointer to struct virtio_hw, which is shared between the two processes. But this structure is per-process, so this change made secondary process to try accessing primary process-only memory, leading to a crash.
This patch reverts to proper behavior, by storing the rte_pci_device pointer into the per-process virtio_pci_internal struct. It also provides helper to get the pointer from the virtio_hw struct pointer.
Bugzilla ID: 633 Fixes: c8d4b02f72ae ("net/virtio: move legacy IO to virtio PCI")
Reported-by: Anatoly Burakov <anatoly.burakov@intel.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
df968842 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move vring alignment to generic header
This patch moves vring alignment define to the generic Virtio header.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Che
net/virtio: move vring alignment to generic header
This patch moves vring alignment define to the generic Virtio header.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
6a504290 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: make interrupt handling more generic
This patch aims at isolating MSIX notion into PCI layer.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <da
net/virtio: make interrupt handling more generic
This patch aims at isolating MSIX notion into PCI layer.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
9328e105 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move config definitions to generic header
This patch moves config and status definitions from the PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.c
net/virtio: move config definitions to generic header
This patch moves config and status definitions from the PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
7990d039 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
b4f9a45a |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move features definition to generic header
This patch moves all the Virtio definition to the generic header. It also renames some helpers to no more reference PCI.
Signed-off-by: Maxime
net/virtio: move features definition to generic header
This patch moves all the Virtio definition to the generic header. It also renames some helpers to no more reference PCI.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
f8b60756 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: introduce generic virtio header
This patch moves virtio_hw and virtio callbacks into a generic virtio header, now that they have been curated from PCI references.
Signed-off-by: Maxime
net/virtio: introduce generic virtio header
This patch moves virtio_hw and virtio callbacks into a generic virtio header, now that they have been curated from PCI references.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
c8d4b02f |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move legacy IO to virtio PCI
This patch moves Virtio PCI legacy IO handling to virtio_pci.c. Two functions are created so that virtio_pci_ethdev does not have to care about it.
Signed-o
net/virtio: move legacy IO to virtio PCI
This patch moves Virtio PCI legacy IO handling to virtio_pci.c. Two functions are created so that virtio_pci_ethdev does not have to care about it.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
6e1d9c0c |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: pack virtio HW struct
This patch improves the virtio_hw struct packing, going from 88 down to 80 bytes with a 6 bytes hole in the end of the first cacheline. Fields only used in the slow
net/virtio: pack virtio HW struct
This patch improves the virtio_hw struct packing, going from 88 down to 80 bytes with a 6 bytes hole in the end of the first cacheline. Fields only used in the slow path are placed in the end, so that hot path only uses the first cacheline.
The patch also changes booleans fields to uint8_t type, and fix inconsistencies in their assignments.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
266ece29 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move PCI-specific fields to PCI device
This patch moves the fields from virtio_hw structure that are PCI-specific to virtio_pci_dev_struct.
Signed-off-by: Maxime Coquelin <maxime.coquel
net/virtio: move PCI-specific fields to PCI device
This patch moves the fields from virtio_hw structure that are PCI-specific to virtio_pci_dev_struct.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
c4fa9cc7 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: remove bus type enum
Bus type awareness at the generic ethdev level is no more needed as previous patches have made it bus-agnostic.
This patch removes it from struct virtio_hw.
Signed
net/virtio: remove bus type enum
Bus type awareness at the generic ethdev level is no more needed as previous patches have made it bus-agnostic.
This patch removes it from struct virtio_hw.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
cbb135b3 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: validate features at bus level
This patch provides a new callback for the bus type to validate negotiated features are compatible with it.
Only user for now is PCI modern bus type, whic
net/virtio: validate features at bus level
This patch provides a new callback for the bus type to validate negotiated features are compatible with it.
Only user for now is PCI modern bus type, which implies that the device supports Virtio 1.0+.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
f12908c8 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: add callback for device closing
This patch introduces a new callback for device closing, making virtio_dev_close() bus-agnostic.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.c
net/virtio: add callback for device closing
This patch introduces a new callback for device closing, making virtio_dev_close() bus-agnostic.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
1ac79346 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: store PCI type in virtio device metadata
Going further in making the Virtio ethdev layer bus agnostic, this patch adds a boolean in the Virtio PCI device metadata.
Signed-off-by: Maxime
net/virtio: store PCI type in virtio device metadata
Going further in making the Virtio ethdev layer bus agnostic, this patch adds a boolean in the Virtio PCI device metadata.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
7793d293 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: move MSI-X detection to PCI ethdev
This patch introduces a new callback to notify the bus driver some interrupt related operation was done.
This is used by Virtio PCI driver to check ms
net/virtio: move MSI-X detection to PCI ethdev
This patch introduces a new callback to notify the bus driver some interrupt related operation was done.
This is used by Virtio PCI driver to check msix status.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
f305ecbb |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: introduce PCI device metadata
This patch initiate refactoring of Virtio PCI, by introducing a new device structure for PCI-specific metadata.
Signed-off-by: Maxime Coquelin <maxime.coqu
net/virtio: introduce PCI device metadata
This patch initiate refactoring of Virtio PCI, by introducing a new device structure for PCI-specific metadata.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
65832c82 |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
0cd63b6f |
| 26-Jan-2021 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: introduce virtio bus type
This patch is preliminary work for introducing a bus layer in Virtio PMD, in order to improve Virtio-user integration.
A new bus type is added to provide a uni
net/virtio: introduce virtio bus type
This patch is preliminary work for introducing a bus layer in Virtio PMD, in order to improve Virtio-user integration.
A new bus type is added to provide a unified way to distinguish which bus type is used (PCI modern, PCI legacy or Virtio-user).
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
df96fd0d |
| 29-Jan-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
ethdev: make driver-only headers private
The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are for drivers only and should be a private to DPDK and not installed.
Signed-off-by:
ethdev: make driver-only headers private
The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are for drivers only and should be a private to DPDK and not installed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Steven Webster <steven.webster@windriver.com>
show more ...
|
#
e84a9dab |
| 05-Aug-2020 |
Adrian Moreno <amorenoz@redhat.com> |
net/virtio: add device reset status bit
For the sake of completeness, add the definition of the missing status bit in accordance with the virtio spec
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
net/virtio: add device reset status bit
For the sake of completeness, add the definition of the missing status bit in accordance with the virtio spec
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com>
show more ...
|
#
4710e16a |
| 29-Apr-2020 |
Marvin Liu <yong.liu@intel.com> |
net/virtio: add parameter to enable vectorized path
Previously, virtio split ring vectorized path was enabled by default. This is not suitable for everyone because that path does not follow virtio s
net/virtio: add parameter to enable vectorized path
Previously, virtio split ring vectorized path was enabled by default. This is not suitable for everyone because that path does not follow virtio spec. Add new devarg for virtio vectorized path selection. By default vectorized path is disabled.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
1357b4b3 |
| 30-Mar-2020 |
Ivan Dyukov <i.dyukov@samsung.com> |
net/virtio: support Virtio link speed feature
This patch adds a support of VIRTIO_NET_F_SPEED_DUPLEX feature for virtio driver.
There are two ways to specify speed of the link: 'speed' devarg
net/virtio: support Virtio link speed feature
This patch adds a support of VIRTIO_NET_F_SPEED_DUPLEX feature for virtio driver.
There are two ways to specify speed of the link: 'speed' devarg negotiate speed from qemu via VIRTIO_NET_F_SPEED_DUPLEX The highest priority is devarg. If devarg is not specified, drivers tries to negotiate it from qemu.
Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
49119e38 |
| 30-Mar-2020 |
Ivan Dyukov <i.dyukov@samsung.com> |
net/virtio: add link speed parameter
Some applications like pktgen use link speed to calculate transmission rate. It limits outcome traffic to hardcoded 10G.
This patch adds speed devarg which allo
net/virtio: add link speed parameter
Some applications like pktgen use link speed to calculate transmission rate. It limits outcome traffic to hardcoded 10G.
This patch adds speed devarg which allows to configure link speed of virtio device.
Signed-off-by: Ivan Dyukov <i.dyukov@samsung.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
ef5baf34 |
| 09-Feb-2020 |
Thomas Monjalon <thomas@monjalon.net> |
replace packed attributes
There is a common macro __rte_packed for packing structs, which is now used where appropriate for consistency.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|