xref: /dpdk/lib/eal/windows/eal_mp.c (revision a0cc7be20dd13e118387786c3a86aab56325ed63)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2020 Dmitry Kozlyuk
3  */
4 
5 /**
6  * @file Multiprocess support stubs
7  *
8  * Stubs must log an error until implemented. If success is required
9  * for non-multiprocess operation, stub must log a warning and a comment
10  * must document what requires success emulation.
11  */
12 
13 #include <rte_eal.h>
14 #include <rte_errno.h>
15 
16 #include "eal_private.h"
17 #include "eal_windows.h"
18 #include "malloc_mp.h"
19 #include "hotplug_mp.h"
20 
21 void
rte_mp_channel_cleanup(void)22 rte_mp_channel_cleanup(void)
23 {
24 	EAL_LOG_NOT_IMPLEMENTED();
25 }
26 
27 int
rte_mp_action_register(const char * name,rte_mp_t action)28 rte_mp_action_register(const char *name, rte_mp_t action)
29 {
30 	RTE_SET_USED(name);
31 	RTE_SET_USED(action);
32 	EAL_LOG_NOT_IMPLEMENTED();
33 	return -1;
34 }
35 
36 void
rte_mp_action_unregister(const char * name)37 rte_mp_action_unregister(const char *name)
38 {
39 	RTE_SET_USED(name);
40 	EAL_LOG_NOT_IMPLEMENTED();
41 }
42 
43 int
rte_mp_sendmsg(struct rte_mp_msg * msg)44 rte_mp_sendmsg(struct rte_mp_msg *msg)
45 {
46 	RTE_SET_USED(msg);
47 	EAL_LOG_NOT_IMPLEMENTED();
48 	return -1;
49 }
50 
51 int
rte_mp_request_sync(struct rte_mp_msg * req,struct rte_mp_reply * reply,const struct timespec * ts)52 rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply,
53 	const struct timespec *ts)
54 {
55 	RTE_SET_USED(req);
56 	RTE_SET_USED(reply);
57 	RTE_SET_USED(ts);
58 	EAL_LOG_NOT_IMPLEMENTED();
59 	return -1;
60 }
61 
62 int
rte_mp_request_async(struct rte_mp_msg * req,const struct timespec * ts,rte_mp_async_reply_t clb)63 rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
64 		rte_mp_async_reply_t clb)
65 {
66 	RTE_SET_USED(req);
67 	RTE_SET_USED(ts);
68 	RTE_SET_USED(clb);
69 	EAL_LOG_NOT_IMPLEMENTED();
70 	return -1;
71 }
72 
73 int
rte_mp_reply(struct rte_mp_msg * msg,const char * peer)74 rte_mp_reply(struct rte_mp_msg *msg, const char *peer)
75 {
76 	RTE_SET_USED(msg);
77 	RTE_SET_USED(peer);
78 	EAL_LOG_NOT_IMPLEMENTED();
79 	return -1;
80 }
81 
82 int
register_mp_requests(void)83 register_mp_requests(void)
84 {
85 	/* Non-stub function succeeds if multi-process is not supported. */
86 	EAL_LOG_STUB();
87 	return 0;
88 }
89 
90 void
unregister_mp_requests(void)91 unregister_mp_requests(void)
92 {
93 	/* Non-stub function succeeds if multi-process is not supported. */
94 	EAL_LOG_STUB();
95 }
96 
97 int
request_to_primary(struct malloc_mp_req * req)98 request_to_primary(struct malloc_mp_req *req)
99 {
100 	RTE_SET_USED(req);
101 	EAL_LOG_NOT_IMPLEMENTED();
102 	return -1;
103 }
104 
105 int
request_sync(void)106 request_sync(void)
107 {
108 	/* Common memory allocator depends on this function success. */
109 	EAL_LOG_STUB();
110 	return 0;
111 }
112 
113 int
eal_dev_hotplug_request_to_primary(struct eal_dev_mp_req * req)114 eal_dev_hotplug_request_to_primary(struct eal_dev_mp_req *req)
115 {
116 	RTE_SET_USED(req);
117 	return 0;
118 }
119 
120 int
eal_dev_hotplug_request_to_secondary(struct eal_dev_mp_req * req)121 eal_dev_hotplug_request_to_secondary(struct eal_dev_mp_req *req)
122 {
123 	RTE_SET_USED(req);
124 	return 0;
125 }
126