RPMsg-Lite User's Guide
Rev. 5.1.1
NXP Semiconductors
Main Page
API Reference
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
36
#define RL_USE_CUSTOM_CONFIG (1)
37
38
#if RL_USE_CUSTOM_CONFIG
39
#include "rpmsg_config.h"
40
#endif
41
48
50
55
#ifndef RL_MS_PER_INTERVAL
56
#define RL_MS_PER_INTERVAL (1)
57
#endif
58
68
#ifndef RL_ALLOW_CUSTOM_SHMEM_CONFIG
69
#define RL_ALLOW_CUSTOM_SHMEM_CONFIG (0)
70
#endif
71
72
#if !(defined(RL_ALLOW_CUSTOM_SHMEM_CONFIG) && (RL_ALLOW_CUSTOM_SHMEM_CONFIG == 1))
73
#ifndef RL_BUFFER_PAYLOAD_SIZE
79
#define RL_BUFFER_PAYLOAD_SIZE (496U)
80
#endif
81
90
#ifndef RL_BUFFER_COUNT
91
#define RL_BUFFER_COUNT (2U)
92
#endif
93
94
#else
95
#ifndef RL_BUFFER_PAYLOAD_SIZE
99
#define RL_BUFFER_PAYLOAD_SIZE(link_id) (496U)
100
#endif
101
102
#ifndef RL_BUFFER_COUNT
103
#define RL_BUFFER_COUNT(link_id) (((link_id) == 0U) ? 256U : 2U)
104
#endif
105
#endif
/* !(defined(RL_ALLOW_CUSTOM_SHMEM_CONFIG) && (RL_ALLOW_CUSTOM_SHMEM_CONFIG == 1))*/
106
111
#ifndef RL_API_HAS_ZEROCOPY
112
#define RL_API_HAS_ZEROCOPY (1)
113
#endif
114
119
#ifndef RL_USE_STATIC_API
120
#define RL_USE_STATIC_API (0)
121
#endif
122
128
#ifndef RL_CLEAR_USED_BUFFERS
129
#define RL_CLEAR_USED_BUFFERS (0)
130
#endif
131
138
#ifndef RL_USE_MCMGR_IPC_ISR_HANDLER
139
#define RL_USE_MCMGR_IPC_ISR_HANDLER (0)
140
#endif
141
147
#ifndef RL_USE_ENVIRONMENT_CONTEXT
148
#define RL_USE_ENVIRONMENT_CONTEXT (0)
149
#endif
150
157
#ifndef RL_DEBUG_CHECK_BUFFERS
158
#define RL_DEBUG_CHECK_BUFFERS (0)
159
#endif
160
168
#ifndef RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION
169
#define RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION (0)
170
#endif
171
175
static
inline
void
RL_HANG(
void
)
176
{
177
/* coco begin validated: RL_HANG not reachable in unit tests when own RL_ASSERT implementation used */
178
for
(;;)
179
{
180
}
181
}
182
/* coco end */
183
187
#ifndef RL_ASSERT
188
#define RL_ASSERT_BOOL(b) \
189
do \
190
{ \
191
if (!(b)) \
192
{ \
193
RL_HANG(); \
194
} \
195
} while (0 == 1);
196
#define RL_ASSERT(x) RL_ASSERT_BOOL((int32_t)(x) != 0)
197
198
#endif
199
200
201
#endif
/* RPMSG_DEFAULT_CONFIG_H_ */
Copyright 2016-2020 NXP Semiconductors. All rights reserved.