It should be possible to build a single application or library that will work both in Xen and non-Xen environment. Any special case handling should be done at runtime.
Stephen Hemminger (6): xen: allow determining DOM0 at runtime ethdev: add common function for reserving DMA regions e1000: use rte_eth_dma_zone_reserve ixgbe: use rte_eth_dma_zone_reserve i40e: use rte_eth_dma_zone_reserve fm10k: use rte_eth_dma_zone_reserve drivers/net/e1000/em_rxtx.c | 38 ++--------- drivers/net/e1000/igb_rxtx.c | 41 ++---------- drivers/net/fm10k/fm10k_ethdev.c | 47 ++------------ drivers/net/i40e/i40e_ethdev.c | 9 --- drivers/net/i40e/i40e_fdir.c | 5 +- drivers/net/i40e/i40e_rxtx.c | 94 ++++++---------------------- drivers/net/ixgbe/ixgbe_rxtx.c | 47 ++------------ lib/librte_eal/common/include/rte_memory.h | 30 ++++++++- lib/librte_eal/linuxapp/eal/eal_memory.c | 7 +++ lib/librte_eal/linuxapp/eal/eal_xen_memory.c | 2 +- lib/librte_ether/rte_ethdev.c | 24 +++++++ lib/librte_ether/rte_ethdev.h | 23 +++++++ lib/librte_mempool/rte_mempool.c | 48 +++++++++----- lib/librte_mempool/rte_mempool.h | 3 +- 14 files changed, 160 insertions(+), 258 deletions(-) -- 2.1.4