[dpdk-dev] [PATCH v3] eal: fix libabi macro for device generalization patches
Thomas Monjalon
thomas.monjalon at 6wind.com
Thu Oct 27 12:15:27 CEST 2016
2016-10-27 12:38, Shreyansh Jain:
> rte_device/driver generalization patches [1] were merged without a change
> in the LIBABIVER macro. This patches bumps the macro of affected libs.
It is not a macro but a Makefile variable.
> (librte_eal was already bumped; libcryptodev and libetherdev have been
> bumped).
Please provide the commit id where EAL was bumped.
> Details of ABI/API changes:
> - EAL (version not bumped)
not bumped -> already bumped
> |- type field was removed from rte_driver
> |- rte_pci_device now embeds rte_device
> |- rte_pci_resource renamed to rte_mem_resource
> |- numa_node and devargs of rte_pci_driver is moved to rte_driver
> |- APIs for device hotplug (attach/detach) moved into EAL
> |- API rte_eal_pci_device_name added for PCI device naming
> |- vdev registration API introduced (rte_eal_vdrv_register,
> | rte_eal_vdrv_unregister
>
> - librte_crypto (v 1=>2)
> |- removed rte_cryptodev_create_unique_device_name API
> |- moved device naming to EAL
>
> - librte_ethdev (v 4=>5)
> |- rte_eth_dev_type is removed
> |- removed dev_type from rte_eth_dev_allocate API
> |- removed API rte_eth_dev_get_device_type
> |- removed API rte_eth_dev_get_addr_by_port
> |- removed API rte_eth_dev_get_port_by_addr
> |- removed rte_cryptodev_create_unique_device_name API
> |- moved device naming to EAL
>
> Also, deprecation notice from 16.07 has been removed and release notes for
> 16.11 added.
>
> [1] http://dpdk.org/ml/archives/dev/2016-September/047087.html
>
> Signed-off-by: Shreyansh Jain <shreyansh.jain at nxp.com>
[...]
> --- a/doc/guides/rel_notes/release_16_11.rst
> +++ b/doc/guides/rel_notes/release_16_11.rst
> @@ -149,6 +149,32 @@ Resolved Issues
It is the "Resolved Issues" section.
Please move in the "API Changes" section.
> EAL
> ~~~
>
> +* **Improved device/driver heirarchy and generalized hotplugging**
typo: hierarchy
> + Device and driver relationship has been restructured by introducing generic
> + classes. This paves way for having PCI, VDEV and other device types as
> + just instantiated objects rather than classes in themselves. Hotplugging too
> + has been generalized into EAL so that ethernet or crypto devices can use the
> + common infrastructure.
> +
> + * removed ``pmd_type`` as way of segragation of devices
> + * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
> + ``rte_pci_driver``. These can now be used by any instantiated object of
> + ``rte_driver``.
> + * added ``rte_device`` class and all PCI and VDEV devices inherit from it
> + * renamed devinit/devuninit handlers to probe/remove to make it more
> + semantically correct with respect to device<=>driver relationship
> + * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
> + APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
> + * helpers and support macros have been renamed to make them more synonymous
> + with their device types
> + (e.g. ``PMD_REGISTER_DRIVER`` => ``DRIVER_REGISTER_PCI``)
It is RTE_PMD_REGISTER_PCI
> + * Device naming functions have been generalized from ethdev and cryptodev
> + to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
> + unique device name from PCI Domain-BDF description.
> + * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
> + and ``rte_eal_vdrv_unregister``.
Thanks
More information about the dev
mailing list