From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH v3] eal: fix libabi macro for device generalization patches Date: Thu, 27 Oct 2016 16:40:31 +0530 Message-ID: <14b3e839-adaa-24c2-e132-6c2c1fee8956@nxp.com> References: <1477486817-1284-1-git-send-email-shreyansh.jain@nxp.com> <1477552109-18624-1-git-send-email-shreyansh.jain@nxp.com> <6056365.vs23AthqBz@xps13> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, ferruh.yigit@intel.com To: Thomas Monjalon Return-path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0047.outbound.protection.outlook.com [104.47.41.47]) by dpdk.org (Postfix) with ESMTP id 56BF039EA for ; Thu, 27 Oct 2016 13:09:07 +0200 (CEST) In-Reply-To: <6056365.vs23AthqBz@xps13> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hello Thomas, On Thursday 27 October 2016 03:45 PM, Thomas Monjalon wrote: > 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. Yes, I will change that. > >> (librte_eal was already bumped; libcryptodev and libetherdev have been >> bumped). > > Please provide the commit id where EAL was bumped. Ok. Will do. > >> Details of ABI/API changes: >> - EAL (version not bumped) > > not bumped -> already bumped Ok. > >> |- 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 > [...] >> --- 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. Ok. > >> EAL >> ~~~ >> >> +* **Improved device/driver heirarchy and generalized hotplugging** > > typo: hierarchy Yes. > >> + 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 It seems my Friday is earlier than usual :( I was the one who changed it and I completely forgot about it. > >> + * 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 > I am sending v4 soon. - Shreyansh