>From iopl(2) man page: "This call is mostly for the x86 architecture. On many other architectures it does not exist or will always return an error".
This patch removes the call to iopl() in rte_eal_iopl_init() for architectures other than x86, and always return 0 (success). This was already done for ARM in commit 0291476ae364 ("eal/linux: never check iopl for arm") Next patches will introduce the support of memory mapped IO resources for architectures != x86. On BSD, there is nothing to do as open("/dev/io") already does the proper thing. See man IO(4). Signed-off-by: Olivier Matz <olivier.matz at 6wind.com> --- lib/librte_eal/linuxapp/eal/eal.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index 8aafd51..bba8fea 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -715,12 +715,8 @@ rte_eal_iopl_init(void) #if defined(RTE_ARCH_X86) if (iopl(3) != 0) return -1; - return 0; -#elif defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) - return 0; /* iopl syscall not supported for ARM/ARM64 */ -#else - return -1; #endif + return 0; } /* Launch threads, called at application init(). */ -- 2.8.0.rc3