On Mon, May 23, 2016 at 03:40:58PM +0200, Olivier Matz wrote: > For reference, here is the report of the ABI checker for EAL: > > [?] struct rte_pci_ioport (2) > > 1 Field len has been added to this type. > 1) This field will not be initialized by old clients. > 2) Size of the inclusive type has been changed. > NOTE: this field should be accessed only from the new library > functions, otherwise it may result in crash or incorrect behavior > of applications. > 2 Size of this type has been changed from 16 bytes to 24 bytes. > The fields or parameters of such data type may be incorrectly > initialized or accessed by old client applications. > > [?] affected symbols (4) > rte_eal_pci_ioport_map ( struct rte_pci_device* dev, int bar, > struct rte_pci_ioport* p ) @@ DPDK_16.04 > 3rd parameter 'p' (pointer) has base type 'struct rte_pci_ioport'. > rte_eal_pci_ioport_read ( struct rte_pci_ioport* p, void* data, > size_t len, off_t offset ) @@ DPDK_16.04 > 1st parameter 'p' (pointer) has base type 'struct rte_pci_ioport'. > rte_eal_pci_ioport_unmap ( struct rte_pci_ioport* p ) @@ DPDK_16.04 > 1st parameter 'p' (pointer) has base type 'struct rte_pci_ioport'. > rte_eal_pci_ioport_write ( struct rte_pci_ioport* p, void const* data, > size_t len, off_t offset ) @@ DPDK_16.04 > 1st parameter 'p' (pointer) has base type 'struct rte_pci_ioport'. > > > My understanding of the comment for this structure is that it's > internal to EAL:
I'm not quite sure that is enough. Cc'ed Panu, the guru on ABI stuff, hopefully he could shed some light on it. > /** > * A structure used to access io resources for a pci device. > * rte_pci_ioport is arch, os, driver specific, and should not be used > outside > * of pci ioport api. > */ > struct rte_pci_ioport { > ... > } > > So I'd say it's ok to have it integrated for 16.07. I'll let Thomas to decide it :) --yliu