RPMsg-Lite User's Guide Rev. 5.1.4
NXP Semiconductors
Loading...
Searching...
No Matches
rpmsg_default_config.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2014, Mentor Graphics Corporation
3 * Copyright (c) 2015 Xilinx, Inc.
4 * Copyright (c) 2016 Freescale Semiconductor, Inc.
5 * Copyright 2016-2022 NXP
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 * 3. Neither the name of the copyright holder nor the names of its
17 * contributors may be used to endorse or promote products derived from this
18 * software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 */
32
33#ifndef RPMSG_DEFAULT_CONFIG_H_
34#define RPMSG_DEFAULT_CONFIG_H_
35
41#define RL_USE_CUSTOM_CONFIG (1)
42
43#if RL_USE_CUSTOM_CONFIG
44#include "rpmsg_config.h"
45#endif
46
54
55
60#ifndef RL_MS_PER_INTERVAL
61#define RL_MS_PER_INTERVAL (1)
62#endif
63
73#ifndef RL_ALLOW_CUSTOM_SHMEM_CONFIG
74#define RL_ALLOW_CUSTOM_SHMEM_CONFIG (0)
75#endif
76
77#if !(defined(RL_ALLOW_CUSTOM_SHMEM_CONFIG) && (RL_ALLOW_CUSTOM_SHMEM_CONFIG == 1))
83#ifndef RL_BUFFER_PAYLOAD_SIZE
84#define RL_BUFFER_PAYLOAD_SIZE (496U)
85#endif
86
95#ifndef RL_BUFFER_COUNT
96#define RL_BUFFER_COUNT (2U)
97#endif
98
99#else
103#ifndef RL_BUFFER_PAYLOAD_SIZE
104#define RL_BUFFER_PAYLOAD_SIZE(link_id) (496U)
105#endif
106
107#ifndef RL_BUFFER_COUNT
108#define RL_BUFFER_COUNT(link_id) (((link_id) == 0U) ? 256U : 2U)
109#endif
110#endif /* !(defined(RL_ALLOW_CUSTOM_SHMEM_CONFIG) && (RL_ALLOW_CUSTOM_SHMEM_CONFIG == 1))*/
111
116#ifndef RL_API_HAS_ZEROCOPY
117#define RL_API_HAS_ZEROCOPY (1)
118#endif
119
124#ifndef RL_USE_STATIC_API
125#define RL_USE_STATIC_API (0)
126#endif
127
133#ifndef RL_CLEAR_USED_BUFFERS
134#define RL_CLEAR_USED_BUFFERS (0)
135#endif
136
143#ifndef RL_USE_DCACHE
144#define RL_USE_DCACHE (0)
145#endif
146
153#ifndef RL_USE_MCMGR_IPC_ISR_HANDLER
154#define RL_USE_MCMGR_IPC_ISR_HANDLER (0)
155#endif
156
162#ifndef RL_USE_ENVIRONMENT_CONTEXT
163#define RL_USE_ENVIRONMENT_CONTEXT (0)
164#endif
165
172#ifndef RL_DEBUG_CHECK_BUFFERS
173#define RL_DEBUG_CHECK_BUFFERS (0)
174#endif
175
183#ifndef RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION
184#define RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION (0)
185#endif
186
190static inline void RL_HANG(void)
191{
192 /* coco begin validated: RL_HANG not reachable in unit tests when own RL_ASSERT implementation used */
193 for (;;)
194 {
195 }
196}
197/* coco end */
198
203
207#ifndef RL_ASSERT
208#define RL_ASSERT_BOOL(b) \
209 do \
210 { \
211 if (!(b)) \
212 { \
213 RL_HANG(); \
214 } \
215 } while (0 == 1);
216#define RL_ASSERT(x) RL_ASSERT_BOOL((int32_t)(x) != 0)
217
218#endif
219
220#endif /* RPMSG_DEFAULT_CONFIG_H_ */