>> >> Enabled the flag pmd_iova_as_va in cnxk driver build files as they work
>> >> with IOVA as VA. Updated cn9k and cn10k soc build configurations to
>> >> enable the IOVA as VA build by default.
>> >>
>> >> Signed-off-by: Shijith Thotton <sthot...@marvell.com>
>> >> ---
>> >>  config/arm/meson.build                   |  8 +++-
>> >>  drivers/common/cnxk/meson.build          |  1 +
>> >>  drivers/crypto/cnxk/cn10k_ipsec_la_ops.h |  4 +-
>> >>  drivers/crypto/cnxk/cn9k_ipsec_la_ops.h  |  2 +-
>> >>  drivers/crypto/cnxk/meson.build          |  2 +
>> >>  drivers/dma/cnxk/meson.build             |  1 +
>> >>  drivers/event/cnxk/meson.build           |  1 +
>> >>  drivers/mempool/cnxk/meson.build         |  1 +
>> >>  drivers/net/cnxk/cn10k_tx.h              | 55 +++++++-----------------
>> >>  drivers/net/cnxk/cn9k_tx.h               | 55 +++++++-----------------
>> >>  drivers/net/cnxk/cnxk_ethdev.h           |  1 -
>> >>  drivers/net/cnxk/meson.build             |  1 +
>> >>  drivers/raw/cnxk_bphy/meson.build        |  1 +
>> >>  drivers/raw/cnxk_gpio/meson.build        |  1 +
>> >>  14 files changed, 50 insertions(+), 84 deletions(-)
>> >>
>> >> diff --git a/config/arm/meson.build b/config/arm/meson.build
>> >> index 9f1636e0d5..4e95e8b388 100644
>> >> --- a/config/arm/meson.build
>> >> +++ b/config/arm/meson.build
>> >> @@ -294,7 +294,8 @@ soc_cn10k = {
>> >>      'flags': [
>> >>          ['RTE_MAX_LCORE', 24],
>> >>          ['RTE_MAX_NUMA_NODES', 1],
>> >> -        ['RTE_MEMPOOL_ALIGN', 128]
>> >> +        ['RTE_MEMPOOL_ALIGN', 128],
>> >> +        ['RTE_IOVA_AS_VA', 1]
>> >>      ],
>> >>      'part_number': '0xd49',
>> >>      'extra_march_features': ['crypto'],
>> >> @@ -370,7 +371,10 @@ soc_cn9k = {
>> >>      'description': 'Marvell OCTEON 9',
>> >>      'implementer': '0x43',
>> >>      'part_number': '0xb2',
>> >> -    'numa': false
>> >> +    'numa': false,
>> >> +    'flags': [
>> >> +        ['RTE_IOVA_AS_VA', 1]
>> >> +    ]
>> >>  }
>> >
>> >I think this could go in a separate patch: "disable IOVA as PA for 
>> >octeontx2/3"
>> >
>> >The reason is that this patch clearly breaks the API (m->buf_iova field
>> >becomes invalid) and the ABI (mbuf fields are moved) for these
>> >architectures. This ABI breakage has to be advertised in the release
>> >note. In fact, it should have been advertised before, but I suppose it
>> >does not impact general purpose arm distributions, so I guess it is ok.
>> >
>> >One other thing to highlight: enabling RTE_IOVA_AS_VA means that it
>> >disable all drivers that do not have the pmd_iova_as_va flag. Are there
>> >use-cases where drivers other than cnxk are used? For instance, is there
>> >a PCI bus which is likely to be used by a driver/* ?
>> >
>>
>> All always enable drivers are enabled in this mode, which include
>> bus/pci, bus/vdev and mempool/ring.
>
>I was thinking about use cases where a pci PMD (NIC, crypto, ...) is
>used in addition to the SOC drivers. These PMD won't compile when IOVA
>as PA is disabled, and the use case will be broken.
>
>This is probably a corner case (people at Marvell will know better than
>me), I just wanted to highlight it. Should we document it?

Thanks for noting. I will add this to cnxk platform document.

Reply via email to