RTEMS 6.1-rc1
unlimited.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
12/*
13 * Copyright (C) 2020 embedded brains GmbH & Co. KG
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37#ifndef _RTEMS_CONFDEFS_UNLIMITED_H
38#define _RTEMS_CONFDEFS_UNLIMITED_H
39
40#ifndef __CONFIGURATION_TEMPLATE_h
41#error "Do not include this file directly, use <rtems/confdefs.h> instead"
42#endif
43
44#ifdef CONFIGURE_INIT
45
46#ifdef CONFIGURE_UNLIMITED_OBJECTS
47
48#include <rtems/config.h>
49
50#if !defined(CONFIGURE_UNIFIED_WORK_AREAS) \
51 && !defined(CONFIGURE_EXECUTIVE_RAM_SIZE) \
52 && !defined(CONFIGURE_MEMORY_OVERHEAD)
53 #error "CONFIGURE_UNLIMITED_OBJECTS requires one of CONFIGURE_UNIFIED_WORK_AREAS, CONFIGURE_EXECUTIVE_RAM_SIZE, and CONFIGURE_MEMORY_OVERHEAD"
54#endif
55
56#ifndef CONFIGURE_UNLIMITED_ALLOCATION_SIZE
57 #define CONFIGURE_UNLIMITED_ALLOCATION_SIZE 8
58#endif
59
60#ifndef CONFIGURE_MAXIMUM_TASKS
61 #define CONFIGURE_MAXIMUM_TASKS \
62 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
63#endif
64
65#ifndef CONFIGURE_MAXIMUM_TIMERS
66 #define CONFIGURE_MAXIMUM_TIMERS \
67 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
68#endif
69
70#ifndef CONFIGURE_MAXIMUM_SEMAPHORES
71 #define CONFIGURE_MAXIMUM_SEMAPHORES \
72 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
73#endif
74
75#ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES
76 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES \
77 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
78#endif
79
80#ifndef CONFIGURE_MAXIMUM_PARTITIONS
81 #define CONFIGURE_MAXIMUM_PARTITIONS \
82 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
83#endif
84
85#ifndef CONFIGURE_MAXIMUM_REGIONS
86 #define CONFIGURE_MAXIMUM_REGIONS \
87 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
88#endif
89
90#ifndef CONFIGURE_MAXIMUM_PORTS
91 #define CONFIGURE_MAXIMUM_PORTS \
92 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
93#endif
94
95#ifndef CONFIGURE_MAXIMUM_PERIODS
96 #define CONFIGURE_MAXIMUM_PERIODS \
97 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
98#endif
99
100#ifndef CONFIGURE_MAXIMUM_BARRIERS
101 #define CONFIGURE_MAXIMUM_BARRIERS \
102 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
103#endif
104
105#ifndef CONFIGURE_MAXIMUM_POSIX_KEYS
106 #define CONFIGURE_MAXIMUM_POSIX_KEYS \
107 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
108#endif
109
110#ifndef CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
111 #define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS \
112 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
113#endif
114
115#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
116 #define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \
117 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
118#endif
119
120#ifndef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
121 #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
122 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
123#endif
124
125#ifndef CONFIGURE_MAXIMUM_POSIX_SHMS
126 #define CONFIGURE_MAXIMUM_POSIX_SHMS \
127 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
128#endif
129
130#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS
131 #define CONFIGURE_MAXIMUM_POSIX_THREADS \
132 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
133#endif
134
135#if defined(RTEMS_POSIX_API) && !defined(CONFIGURE_MAXIMUM_POSIX_TIMERS)
136 #define CONFIGURE_MAXIMUM_POSIX_TIMERS \
137 rtems_resource_unlimited( CONFIGURE_UNLIMITED_ALLOCATION_SIZE )
138#endif
139
140#endif /* CONFIGURE_UNLIMITED_OBJECTS */
141
142#endif /* CONFIGURE_INIT */
143
144#endif /* _RTEMS_CONFDEFS_UNLIMITED_H */