From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 56F6BA09E9; Tue, 15 Dec 2020 01:33:41 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2FDF0137D; Tue, 15 Dec 2020 01:33:39 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5CBA2A3 for ; Tue, 15 Dec 2020 01:33:36 +0100 (CET) IronPort-SDR: F023lupSIha/C8GxeOb6gYlF+Pmh+cojDrGR4POvzzKU+f1Hd1y3zYQJDeSYRMP5GKQiLvT9L7 WH+PsEZxQ0uQ== X-IronPort-AV: E=McAfee;i="6000,8403,9835"; a="193171788" X-IronPort-AV: E=Sophos;i="5.78,420,1599548400"; d="scan'208";a="193171788" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Dec 2020 16:33:34 -0800 IronPort-SDR: RSrr4uL0EC7jfIiyft/H4ObfVH53sgQt/nq9+QhO1RRTw9UruXh2LIflk254O6MK2q+8FYtCDG nxbflA0bFJmg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,420,1599548400"; d="scan'208";a="389663781" Received: from win-dpdk-pallavi.jf.intel.com (HELO localhost.localdomain) ([10.166.188.111]) by FMSMGA003.fm.intel.com with ESMTP; 14 Dec 2020 16:33:34 -0800 From: Pallavi Kadam To: dev@dpdk.org, thomas@monjalon.net Cc: ranjit.menon@intel.com, dmitry.kozliuk@gmail.com, Narcisa.Vasile@microsoft.com, talshn@nvidia.com, pallavi.kadam@intel.com Date: Mon, 14 Dec 2020 16:26:22 -0800 Message-Id: <20201215002622.168-1-pallavi.kadam@intel.com> X-Mailer: git-send-email 2.18.0.windows.1 In-Reply-To: <20201211002607.8240-1-pallavi.kadam@intel.com> References: <20201211002607.8240-1-pallavi.kadam@intel.com> Subject: [dpdk-dev] [PATCH v2] eal/windows: add interrupt functions stub X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add some missing interrupt implementations on Windows. Also add respective functions to export file. Signed-off-by: Tal Shnaiderman Signed-off-by: Pallavi Kadam Reviewed-by: Ranjit Menon Acked-by: Narcisa Vasile v2 changes: Add remaining interrupt APIs (Dmitry Kozlyuk) --- lib/librte_eal/rte_eal_exports.def | 16 +++ lib/librte_eal/windows/eal_interrupts.c | 126 ++++++++++++++++++++++++ 2 files changed, 142 insertions(+) diff --git a/lib/librte_eal/rte_eal_exports.def b/lib/librte_eal/rte_eal_exports.def index 6a6be1cfa..dd8398f88 100644 --- a/lib/librte_eal/rte_eal_exports.def +++ b/lib/librte_eal/rte_eal_exports.def @@ -56,6 +56,9 @@ EXPORTS rte_eal_tailq_register rte_eal_using_phys_addrs rte_eal_wait_lcore + rte_epoll_ctl + rte_epoll_wait + rte_epoll_wait_interruptible rte_exit rte_free rte_get_main_lcore @@ -63,7 +66,20 @@ EXPORTS rte_get_tsc_hz rte_hexdump rte_hypervisor_get + rte_intr_ack + rte_intr_allow_others + rte_intr_callback_register + rte_intr_callback_unregister + rte_intr_callback_unregister_pending + rte_intr_cap_multiple + rte_intr_disable + rte_intr_dp_is_en + rte_intr_efd_disable + rte_intr_efd_enable + rte_intr_enable + rte_intr_free_epoll_fd rte_intr_rx_ctl + rte_intr_tls_epfd rte_lcore_count rte_lcore_has_role rte_lcore_index diff --git a/lib/librte_eal/windows/eal_interrupts.c b/lib/librte_eal/windows/eal_interrupts.c index 6c64a48f3..67928b46d 100644 --- a/lib/librte_eal/windows/eal_interrupts.c +++ b/lib/librte_eal/windows/eal_interrupts.c @@ -105,3 +105,129 @@ eal_intr_thread_schedule(void (*func)(void *arg), void *arg) return 0; } + +int +rte_intr_callback_register( + __rte_unused const struct rte_intr_handle *intr_handle, + __rte_unused rte_intr_callback_fn cb, __rte_unused void *cb_arg) +{ + return -ENOTSUP; +} + +int +rte_intr_callback_unregister_pending( + __rte_unused const struct rte_intr_handle *intr_handle, + __rte_unused rte_intr_callback_fn cb_fn, __rte_unused void *cb_arg, + __rte_unused rte_intr_unregister_callback_fn ucb_fn) +{ + return -ENOTSUP; +} + +int +rte_intr_callback_unregister( + __rte_unused const struct rte_intr_handle *intr_handle, + __rte_unused rte_intr_callback_fn cb_fn, __rte_unused void *cb_arg) +{ + return 0; +} + +int +rte_intr_enable(__rte_unused const struct rte_intr_handle *intr_handle) +{ + return -ENOTSUP; +} + +int +rte_intr_ack(__rte_unused const struct rte_intr_handle *intr_handle) +{ + return -ENOTSUP; +} + +int +rte_intr_disable(__rte_unused const struct rte_intr_handle *intr_handle) +{ + return -ENOTSUP; +} + +int +rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd) +{ + RTE_SET_USED(intr_handle); + RTE_SET_USED(nb_efd); + + return 0; +} + +void +rte_intr_efd_disable(struct rte_intr_handle *intr_handle) +{ + RTE_SET_USED(intr_handle); +} + +int +rte_intr_dp_is_en(struct rte_intr_handle *intr_handle) +{ + RTE_SET_USED(intr_handle); + return 0; +} + +int +rte_intr_allow_others(struct rte_intr_handle *intr_handle) +{ + RTE_SET_USED(intr_handle); + return 1; +} + +int +rte_intr_cap_multiple(struct rte_intr_handle *intr_handle) +{ + RTE_SET_USED(intr_handle); + return 0; +} + +int +rte_epoll_wait(int epfd, struct rte_epoll_event *events, + int maxevents, int timeout) +{ + RTE_SET_USED(epfd); + RTE_SET_USED(events); + RTE_SET_USED(maxevents); + RTE_SET_USED(timeout); + + return -ENOTSUP; +} + +int +rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events, + int maxevents, int timeout) +{ + RTE_SET_USED(epfd); + RTE_SET_USED(events); + RTE_SET_USED(maxevents); + RTE_SET_USED(timeout); + + return -ENOTSUP; +} + +int +rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event) +{ + RTE_SET_USED(epfd); + RTE_SET_USED(op); + RTE_SET_USED(fd); + RTE_SET_USED(event); + + return -ENOTSUP; +} + +int +rte_intr_tls_epfd(void) +{ + return -ENOTSUP; +} + +void +rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle) +{ + RTE_SET_USED(intr_handle); +} -- 2.18.0.windows.1