eal/linux: disable iopl operation for IBM Power
iopl() call is mostly for the i386 architecture. In Power and other architecture, it doesn't exist. This patch modified rte_eal_iopl_init() and make it return -1 for Power and other architecture. Thus rte_config.flags will not contain EAL_FLG_HIGH_IOPL flag for other architecture. Signed-off-by: Chao Zhu <chaozhu@linux.vnet.ibm.com> Acked-by: David Marchand <david.marchand@6wind.com>
This commit is contained in:
parent
9ae1553856
commit
f0fa947c61
@ -50,7 +50,9 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#include <sys/queue.h>
|
#include <sys/queue.h>
|
||||||
|
#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
|
||||||
#include <sys/io.h>
|
#include <sys/io.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rte_common.h>
|
#include <rte_common.h>
|
||||||
#include <rte_debug.h>
|
#include <rte_debug.h>
|
||||||
@ -673,13 +675,19 @@ rte_eal_mcfg_complete(void)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Request iopl privilege for all RPL, returns 0 on success
|
* Request iopl privilege for all RPL, returns 0 on success
|
||||||
|
* iopl() call is mostly for the i386 architecture. For other architectures,
|
||||||
|
* return -1 to indicate IO privilege can't be changed in this way.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
rte_eal_iopl_init(void)
|
rte_eal_iopl_init(void)
|
||||||
{
|
{
|
||||||
|
#if defined(RTE_ARCH_X86_64) || defined(RTE_ARCH_I686)
|
||||||
if (iopl(3) != 0)
|
if (iopl(3) != 0)
|
||||||
return -1;
|
return -1;
|
||||||
return 0;
|
return 0;
|
||||||
|
#else
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Launch threads, called at application init(). */
|
/* Launch threads, called at application init(). */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user