[dpdk-dev,2/5] eal/bsdapp: fix missing interrupt stub functions

Message ID 20171019163629.28618-3-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Bruce Richardson Oct. 19, 2017, 4:36 p.m. UTC
  A number of interrupt functions only existed on Linux. Adding in stubs
for these functions corrects this omission, and allows the map files for
both Linux and FreeBSD to be identical.

CC: stable@dpdk.org
Fixes: 9efe9c6cdcac ("eal/linux: add epoll wrappers")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 lib/librte_eal/bsdapp/eal/eal_interrupts.c    | 35 +++++++++++++++++++++++++++
 lib/librte_eal/bsdapp/eal/rte_eal_version.map |  6 ++++-
 2 files changed, 40 insertions(+), 1 deletion(-)
  

Comments

Bruce Richardson Oct. 20, 2017, 9:12 a.m. UTC | #1
On Thu, Oct 19, 2017 at 05:36:26PM +0100, Bruce Richardson wrote:
> A number of interrupt functions only existed on Linux. Adding in stubs
> for these functions corrects this omission, and allows the map files for
> both Linux and FreeBSD to be identical.
> 
> CC: stable@dpdk.org
> Fixes: 9efe9c6cdcac ("eal/linux: add epoll wrappers")
> 
Apologies, I just realised that this fix patch probably can't be
back-ported to stable on it's own, since it would be missing the header
file updates in the previous patch. Also, not sure if this is worth
taking to stable, but if it is, more patches in the set can be taken
too.

Regards,
/Bruce
  

Patch

diff --git a/lib/librte_eal/bsdapp/eal/eal_interrupts.c b/lib/librte_eal/bsdapp/eal/eal_interrupts.c
index ea2afff4a..deba87702 100644
--- a/lib/librte_eal/bsdapp/eal/eal_interrupts.c
+++ b/lib/librte_eal/bsdapp/eal/eal_interrupts.c
@@ -125,3 +125,38 @@  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_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);
+}
diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
index 080896f73..c173ccfdb 100644
--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map
+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map
@@ -96,11 +96,14 @@  DPDK_2.0 {
 DPDK_2.1 {
 	global:
 
+	rte_epoll_ctl;
+	rte_epoll_wait;
 	rte_intr_allow_others;
 	rte_intr_dp_is_en;
 	rte_intr_efd_disable;
 	rte_intr_efd_enable;
 	rte_intr_rx_ctl;
+	rte_intr_tls_epfd;
 	rte_memzone_free;
 
 } DPDK_2.0;
@@ -160,9 +163,10 @@  DPDK_17.05 {
 	global:
 
 	rte_cpu_is_supported;
+	rte_intr_free_epoll_fd;
 	rte_log_dump;
-	rte_log_register;
 	rte_log_get_global_level;
+	rte_log_register;
 	rte_log_set_global_level;
 	rte_log_set_level;
 	rte_log_set_level_regexp;