On 05/24/2016 07:15 AM, Yuanhan Liu wrote: > 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 :)
Panu or Thomas, do you have any comment on this? Thanks, Olivier