Use RTE_EXEC_ENV_BSDAPP in common files for code specific to BSD and !RTE_EXEC_ENV_BSDAPP for Linux.
Signed-off-by: Ravi Kerur <rkerur at gmail.com> --- lib/librte_eal/bsdapp/eal/Makefile | 6 ++-- lib/librte_eal/common/eal_common_alarm.c | 40 ++++++++++++++++++++++++ lib/librte_eal/common/eal_common_interrupts.c | 45 ++++++++++++++++++++++++++- lib/librte_eal/linuxapp/eal/Makefile | 6 ++-- 4 files changed, 90 insertions(+), 7 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/Makefile b/lib/librte_eal/bsdapp/eal/Makefile index d434882..3573c08 100644 --- a/lib/librte_eal/bsdapp/eal/Makefile +++ b/lib/librte_eal/bsdapp/eal/Makefile @@ -53,11 +53,8 @@ SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_hugepage_info.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_thread.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_log.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_pci.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_debug.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_lcore.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_timer.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_interrupts.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_alarm.c # from common dir SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_memzone.c @@ -73,6 +70,9 @@ SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_hexdump.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_devargs.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_dev.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_options.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_alarm.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_debug.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_BSDAPP) += eal_common_interrupts.c CFLAGS_eal.o := -D_GNU_SOURCE #CFLAGS_eal_thread.o := -D_GNU_SOURCE diff --git a/lib/librte_eal/common/eal_common_alarm.c b/lib/librte_eal/common/eal_common_alarm.c index e8da32f..abc6f74 100644 --- a/lib/librte_eal/common/eal_common_alarm.c +++ b/lib/librte_eal/common/eal_common_alarm.c @@ -30,6 +30,16 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#ifdef RTE_EXEC_ENV_BSDAPP +#include <stdlib.h> +#include <errno.h> + +#include <rte_alarm.h> +#include <rte_common.h> +#include "eal_private.h" + +#else /* !RTE_EXEC_ENV_BSDAPP */ + #include <stdio.h> #include <stdint.h> #include <signal.h> @@ -80,6 +90,33 @@ static struct rte_intr_handle intr_handle = {.fd = -1 }; static int handler_registered = 0; static void eal_alarm_callback(struct rte_intr_handle *hdl, void *arg); +#endif /* RTE_EXEC_ENV_BSDAPP */ + +#ifdef RTE_EXEC_ENV_BSDAPP + +int +rte_eal_alarm_init(void) +{ + return 0; +} + + +int +rte_eal_alarm_set(uint64_t us __rte_unused, + rte_eal_alarm_callback cb_fn __rte_unused, + void *cb_arg __rte_unused) { + return -ENOTSUP; +} + +int +rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn __rte_unused, + void *cb_arg __rte_unused) { + return -ENOTSUP; +} + +#else /* !RTE_EXEC_ENV_BSDAPP */ int rte_eal_alarm_init(void) { @@ -94,6 +131,7 @@ rte_eal_alarm_init(void) error: rte_errno = errno; return -1; + } static void @@ -266,3 +304,5 @@ rte_eal_alarm_cancel(rte_eal_alarm_callback cb_fn, void *cb_arg) return count; } + +#endif /* RTE_EXEC_ENV_BSDAPP */ diff --git a/lib/librte_eal/common/eal_common_interrupts.c b/lib/librte_eal/common/eal_common_interrupts.c index dc2668a..745413e 100644 --- a/lib/librte_eal/common/eal_common_interrupts.c +++ b/lib/librte_eal/common/eal_common_interrupts.c @@ -31,6 +31,48 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#ifdef RTE_EXEC_ENV_BSDAPP + +#include <rte_common.h> +#include <rte_interrupts.h> +#include "eal_private.h" + +int +rte_intr_callback_register(struct rte_intr_handle *intr_handle __rte_unused, + rte_intr_callback_fn cb __rte_unused, + void *cb_arg __rte_unused) { + return -ENOTSUP; +} + +int +rte_intr_callback_unregister(struct rte_intr_handle *intr_handle __rte_unused, + rte_intr_callback_fn cb_fn __rte_unused, + void *cb_arg __rte_unused) { + return -ENOTSUP; +} + +int +rte_intr_enable(struct rte_intr_handle *intr_handle __rte_unused) { + return -ENOTSUP; +} + +int +rte_intr_disable(struct rte_intr_handle *intr_handle __rte_unused) { + return -ENOTSUP; +} + +int +rte_eal_intr_init(void) +{ + return 0; +} + +#else /* !RTE_EXEC_ENV_BSDAPP */ + #include <stdio.h> #include <stdint.h> #include <stdlib.h> @@ -66,7 +108,7 @@ #include <rte_spinlock.h> #include "eal_private.h" -#include "eal_vfio.h" +#include <eal_vfio.h> #define EAL_INTR_EPOLL_WAIT_FOREVER (-1) @@ -824,3 +866,4 @@ rte_eal_intr_init(void) return -ret; } +#endif /* RTE_EXEC_ENV_BSDAPP */ diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 72ecf3a..0e2ba30 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -62,11 +62,8 @@ SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_pci.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_pci_uio.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_pci_vfio.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_pci_vfio_mp_sync.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_debug.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_lcore.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_timer.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_interrupts.c -SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_alarm.c ifeq ($(CONFIG_RTE_LIBRTE_IVSHMEM),y) SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_ivshmem.c endif @@ -85,6 +82,9 @@ SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_hexdump.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_devargs.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_dev.c SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_options.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_alarm.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_debug.c +SRCS-$(CONFIG_RTE_LIBRTE_EAL_LINUXAPP) += eal_common_interrupts.c CFLAGS_eal.o := -D_GNU_SOURCE CFLAGS_eal_thread.o := -D_GNU_SOURCE -- 1.9.1