numam-dpdk/lib/eal/freebsd
Dmitry Kozlyuk 9790fc2149 eal/freebsd: fix IOVA mode selection
FreeBSD EAL selected IOVA mode PA even in --no-huge mode
where PA are not available. Memory zones were created with IOVA
equal to RTE_BAD_IOVA with no indication this field is not usable.

Change IOVA mode detection:
1. Always allow to force --iova-mode=va.
2. In --no-huge mode, disallow forcing --iova-mode=pa, and select VA.
3. Otherwise select IOVA mode according to bus requests, default to PA.
In case contigmem is inaccessible, memory initialization will fail
with a message indicating the cause.

Fixes: c2361bab70 ("eal: compute IOVA mode based on PA availability")
Cc: stable@dpdk.org

Signed-off-by: Dmitry Kozlyuk <dkozlyuk@nvidia.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2021-11-03 18:32:19 +01:00
..
include eal: remove sys/queue.h from public headers 2021-10-01 13:09:43 +02:00
eal_alarm_private.h
eal_alarm.c alarm: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
eal_cpuflags.c
eal_debug.c
eal_dev.c
eal_hugepage_info.c eal/freebsd: lock memory device to prevent conflicts 2021-10-02 16:30:16 +02:00
eal_interrupts.c interrupts: remove direct access to interrupt handle 2021-10-25 21:20:12 +02:00
eal_lcore.c
eal_memalloc.c
eal_memory.c
eal_thread.c eal: fix memory ordering around lcore task accesses 2021-10-25 18:20:59 +02:00
eal_timer.c
eal.c eal/freebsd: fix IOVA mode selection 2021-11-03 18:32:19 +01:00
meson.build