[dpdk-dev] [PATCH v2 0/7] Removal of PCI bus ABIs
David Marchand
david.marchand at redhat.com
Fri Oct 8 09:08:11 CEST 2021
Hello,
On Fri, Oct 8, 2021 at 8:15 AM Liu, Changpeng <changpeng.liu at intel.com> wrote:
>
> I tried the above DPDK patches, and got the following errors:
>
> pci.c:115:7: error: call to ‘rte_pci_read_config’ declared with attribute error: Symbol is not public ABI
> 115 | rc = rte_pci_read_config(dev->dev_handle, value, len, offset);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pci.c: In function ‘cfg_write_rte’:
> pci.c:125:7: error: call to ‘rte_pci_write_config’ declared with attribute error: Symbol is not public ABI
> 125 | rc = rte_pci_write_config(dev->dev_handle, value, len, offset);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> pci.c: In function ‘register_rte_driver’:
> pci.c:375:2: error: call to ‘rte_pci_register’ declared with attribute error: Symbol is not public ABI
> 375 | rte_pci_register(&driver->driver);
I should have got this warning... but compilation passed fine for me.
Happy you tested it.
>
> We may use the new added API to replace rte_pci_write_config and rte_pci_read_config, but SPDK
> do require rte_pci_register().
Since SPDK has a PCI driver, you'll need to compile code that calls
those PCI driver internal API with ALLOW_INTERNAL_API defined.
You can probably add a #define ALLOW_INTERNAL_API first thing (it's
important to have it defined before including any dpdk header) in
pci.c
Another option, is to add it to lib/env_dpdk/env.mk:ENV_CFLAGS =
$(DPDK_INC) -DALLOW_EXPERIMENTAL_API.
Can someone from SPDK take over this and sync with Chenbo?
Thanks.
--
David Marchand
More information about the dev
mailing list