Changeset 68f339b6 in rtems
- Timestamp:
- 09/17/18 09:53:10 (6 years ago)
- Branches:
- 5, master
- Children:
- 776464a
- Parents:
- 5fa0a1f6
- git-author:
- Sebastian Huber <sebastian.huber@…> (09/17/18 09:53:10)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (09/17/18 12:22:17)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/include/rtems/confdefs.h
r5fa0a1f6 r68f339b6 2009 2009 */ 2010 2010 /**@{*/ 2011 #ifndef CONFIGURE_HAS_OWN_CONFIGURATION_TABLE 2012 2013 /** This configures the maximum number of Classic API tasks. */ 2014 #ifndef CONFIGURE_MAXIMUM_TASKS 2015 #define CONFIGURE_MAXIMUM_TASKS 0 2016 #endif 2017 2018 /* 2019 * This is calculated to account for the maximum number of Classic API 2020 * tasks used by the application and configured RTEMS capabilities. 2021 */ 2022 #define _CONFIGURE_TASKS \ 2023 (CONFIGURE_MAXIMUM_TASKS + _CONFIGURE_LIBBLOCK_TASKS) 2024 2025 #ifndef CONFIGURE_MAXIMUM_TIMERS 2026 /** This specifies the maximum number of Classic API timers. */ 2027 #define CONFIGURE_MAXIMUM_TIMERS 0 2028 /* 2029 * This macro is calculated to specify the memory required for 2030 * Classic API timers. 2031 */ 2032 #define _CONFIGURE_MEMORY_FOR_TIMERS(_timers) 0 2033 #else 2034 #define _CONFIGURE_MEMORY_FOR_TIMERS(_timers) \ 2035 _Configure_Object_RAM(_timers, sizeof(Timer_Control) ) 2036 #endif 2037 2038 #ifndef CONFIGURE_MAXIMUM_SEMAPHORES 2039 /** This specifies the maximum number of Classic API semaphores. */ 2040 #define CONFIGURE_MAXIMUM_SEMAPHORES 0 2041 #endif 2042 2011 2012 /** This configures the maximum number of Classic API tasks. */ 2013 #ifndef CONFIGURE_MAXIMUM_TASKS 2014 #define CONFIGURE_MAXIMUM_TASKS 0 2015 #endif 2016 2017 /* 2018 * This is calculated to account for the maximum number of Classic API 2019 * tasks used by the application and configured RTEMS capabilities. 2020 */ 2021 #define _CONFIGURE_TASKS \ 2022 (CONFIGURE_MAXIMUM_TASKS + _CONFIGURE_LIBBLOCK_TASKS) 2023 2024 #ifndef CONFIGURE_MAXIMUM_TIMERS 2025 /** This specifies the maximum number of Classic API timers. */ 2026 #define CONFIGURE_MAXIMUM_TIMERS 0 2043 2027 /* 2044 2028 * This macro is calculated to specify the memory required for 2045 * Classic API Semaphores using MRSP. This is only available in 2046 * SMP configurations. 2047 */ 2048 #if !defined(RTEMS_SMP) || \ 2049 !defined(CONFIGURE_MAXIMUM_MRSP_SEMAPHORES) 2050 #define _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES 0 2051 #else 2052 #define _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES \ 2053 CONFIGURE_MAXIMUM_MRSP_SEMAPHORES * \ 2054 _Configure_From_workspace( \ 2055 RTEMS_ARRAY_SIZE(_Scheduler_Table) * sizeof(Priority_Control) \ 2056 ) 2057 #endif 2058 2029 * Classic API timers. 2030 */ 2031 #define _CONFIGURE_MEMORY_FOR_TIMERS(_timers) 0 2032 #else 2033 #define _CONFIGURE_MEMORY_FOR_TIMERS(_timers) \ 2034 _Configure_Object_RAM(_timers, sizeof(Timer_Control) ) 2035 #endif 2036 2037 #ifndef CONFIGURE_MAXIMUM_SEMAPHORES 2038 /** This specifies the maximum number of Classic API semaphores. */ 2039 #define CONFIGURE_MAXIMUM_SEMAPHORES 0 2040 #endif 2041 2042 /* 2043 * This macro is calculated to specify the memory required for 2044 * Classic API Semaphores using MRSP. This is only available in 2045 * SMP configurations. 2046 */ 2047 #if !defined(RTEMS_SMP) || \ 2048 !defined(CONFIGURE_MAXIMUM_MRSP_SEMAPHORES) 2049 #define _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES 0 2050 #else 2051 #define _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES \ 2052 CONFIGURE_MAXIMUM_MRSP_SEMAPHORES * \ 2053 _Configure_From_workspace( \ 2054 RTEMS_ARRAY_SIZE(_Scheduler_Table) * sizeof(Priority_Control) \ 2055 ) 2056 #endif 2057 2058 /* 2059 * This macro is calculated to specify the memory required for 2060 * Classic API Semaphores. 2061 * 2062 * If there are no user or support semaphores defined, then we can assume 2063 * that no memory need be allocated at all for semaphores. 2064 */ 2065 #if CONFIGURE_MAXIMUM_SEMAPHORES == 0 2066 #define _CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) 0 2067 #else 2068 #define _CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \ 2069 _Configure_Object_RAM(_semaphores, sizeof(Semaphore_Control) ) + \ 2070 _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES 2071 #endif 2072 2073 #ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES 2074 /** 2075 * This configuration parameter specifies the maximum number of 2076 * Classic API Message Queues. 2077 */ 2078 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 0 2079 /* 2080 * This macro is calculated to specify the RTEMS Workspace required for 2081 * the Classic API Message Queues. 2082 */ 2083 #define _CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) 0 2084 #else 2085 #define _CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) \ 2086 _Configure_Object_RAM(_queues, sizeof(Message_queue_Control) ) 2087 #endif 2088 2089 #ifndef CONFIGURE_MAXIMUM_PARTITIONS 2090 /** 2091 * This configuration parameter specifies the maximum number of 2092 * Classic API Partitions. 2093 */ 2094 #define CONFIGURE_MAXIMUM_PARTITIONS 0 2059 2095 /* 2060 2096 * This macro is calculated to specify the memory required for 2061 * Classic API Semaphores. 2062 * 2063 * If there are no user or support semaphores defined, then we can assume 2064 * that no memory need be allocated at all for semaphores. 2065 */ 2066 #if CONFIGURE_MAXIMUM_SEMAPHORES == 0 2067 #define _CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) 0 2068 #else 2069 #define _CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \ 2070 _Configure_Object_RAM(_semaphores, sizeof(Semaphore_Control) ) + \ 2071 _CONFIGURE_MEMORY_FOR_MRSP_SEMAPHORES 2072 #endif 2073 2074 #ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES 2075 /** 2076 * This configuration parameter specifies the maximum number of 2077 * Classic API Message Queues. 2078 */ 2079 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 0 2080 /* 2081 * This macro is calculated to specify the RTEMS Workspace required for 2082 * the Classic API Message Queues. 2083 */ 2084 #define _CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) 0 2085 #else 2086 #define _CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) \ 2087 _Configure_Object_RAM(_queues, sizeof(Message_queue_Control) ) 2088 #endif 2089 2090 #ifndef CONFIGURE_MAXIMUM_PARTITIONS 2091 /** 2092 * This configuration parameter specifies the maximum number of 2093 * Classic API Partitions. 2094 */ 2095 #define CONFIGURE_MAXIMUM_PARTITIONS 0 2096 /* 2097 * This macro is calculated to specify the memory required for 2098 * Classic API 2099 */ 2100 #define _CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) 0 2101 #else 2102 #define _CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) \ 2103 _Configure_Object_RAM(_partitions, sizeof(Partition_Control) ) 2104 #endif 2105 2106 #ifndef CONFIGURE_MAXIMUM_REGIONS 2107 /** 2108 * This configuration parameter specifies the maximum number of 2109 * Classic API Regions. 2110 */ 2111 #define CONFIGURE_MAXIMUM_REGIONS 0 2112 /* 2113 * This macro is calculated to specify the memory required for 2114 * Classic API Regions. 2115 */ 2116 #define _CONFIGURE_MEMORY_FOR_REGIONS(_regions) 0 2117 #else 2118 #define _CONFIGURE_MEMORY_FOR_REGIONS(_regions) \ 2119 _Configure_Object_RAM(_regions, sizeof(Region_Control) ) 2120 #endif 2121 2122 #ifndef CONFIGURE_MAXIMUM_PORTS 2123 /** 2124 * This configuration parameter specifies the maximum number of 2125 * Classic API Dual-Ported Memory Ports. 2126 */ 2127 #define CONFIGURE_MAXIMUM_PORTS 0 2128 /** 2129 * This macro is calculated to specify the memory required for 2130 * Classic API Dual-Ported Memory Ports. 2131 */ 2132 #define _CONFIGURE_MEMORY_FOR_PORTS(_ports) 0 2133 #else 2134 #define _CONFIGURE_MEMORY_FOR_PORTS(_ports) \ 2135 _Configure_Object_RAM(_ports, sizeof(Dual_ported_memory_Control) ) 2136 #endif 2137 2138 #ifndef CONFIGURE_MAXIMUM_PERIODS 2139 /** 2140 * This configuration parameter specifies the maximum number of 2141 * Classic API Rate Monotonic Periods. 2142 */ 2143 #define CONFIGURE_MAXIMUM_PERIODS 0 2144 /* 2145 * This macro is calculated to specify the memory required for 2146 * Classic API Rate Monotonic Periods. 2147 */ 2097 * Classic API 2098 */ 2099 #define _CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) 0 2100 #else 2101 #define _CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) \ 2102 _Configure_Object_RAM(_partitions, sizeof(Partition_Control) ) 2103 #endif 2104 2105 #ifndef CONFIGURE_MAXIMUM_REGIONS 2106 /** 2107 * This configuration parameter specifies the maximum number of 2108 * Classic API Regions. 2109 */ 2110 #define CONFIGURE_MAXIMUM_REGIONS 0 2111 /* 2112 * This macro is calculated to specify the memory required for 2113 * Classic API Regions. 2114 */ 2115 #define _CONFIGURE_MEMORY_FOR_REGIONS(_regions) 0 2116 #else 2117 #define _CONFIGURE_MEMORY_FOR_REGIONS(_regions) \ 2118 _Configure_Object_RAM(_regions, sizeof(Region_Control) ) 2119 #endif 2120 2121 #ifndef CONFIGURE_MAXIMUM_PORTS 2122 /** 2123 * This configuration parameter specifies the maximum number of 2124 * Classic API Dual-Ported Memory Ports. 2125 */ 2126 #define CONFIGURE_MAXIMUM_PORTS 0 2127 /** 2128 * This macro is calculated to specify the memory required for 2129 * Classic API Dual-Ported Memory Ports. 2130 */ 2131 #define _CONFIGURE_MEMORY_FOR_PORTS(_ports) 0 2132 #else 2133 #define _CONFIGURE_MEMORY_FOR_PORTS(_ports) \ 2134 _Configure_Object_RAM(_ports, sizeof(Dual_ported_memory_Control) ) 2135 #endif 2136 2137 #ifndef CONFIGURE_MAXIMUM_PERIODS 2138 /** 2139 * This configuration parameter specifies the maximum number of 2140 * Classic API Rate Monotonic Periods. 2141 */ 2142 #define CONFIGURE_MAXIMUM_PERIODS 0 2143 /* 2144 * This macro is calculated to specify the memory required for 2145 * Classic API Rate Monotonic Periods. 2146 */ 2148 2147 #define _CONFIGURE_MEMORY_FOR_PERIODS(_periods) 0 2149 2148 #else 2150 #define _CONFIGURE_MEMORY_FOR_PERIODS(_periods) \ 2151 _Configure_Object_RAM(_periods, sizeof(Rate_monotonic_Control) ) 2152 #endif 2153 2149 #define _CONFIGURE_MEMORY_FOR_PERIODS(_periods) \ 2150 _Configure_Object_RAM(_periods, sizeof(Rate_monotonic_Control) ) 2151 #endif 2152 2153 /** 2154 * This configuration parameter specifies the maximum number of 2155 * Classic API Barriers. 2156 */ 2157 #ifndef CONFIGURE_MAXIMUM_BARRIERS 2158 #define CONFIGURE_MAXIMUM_BARRIERS 0 2159 #endif 2160 2161 /* 2162 * This macro is calculated to specify the number of Classic API 2163 * Barriers required by the application and configured capabilities. 2164 */ 2165 #define _CONFIGURE_BARRIERS \ 2166 (CONFIGURE_MAXIMUM_BARRIERS + _CONFIGURE_BARRIERS_FOR_FIFOS) 2167 2168 /* 2169 * This macro is calculated to specify the memory required for 2170 * Classic API Barriers. 2171 */ 2172 #if _CONFIGURE_BARRIERS == 0 2173 #define _CONFIGURE_MEMORY_FOR_BARRIERS(_barriers) 0 2174 #else 2175 #define _CONFIGURE_MEMORY_FOR_BARRIERS(_barriers) \ 2176 _Configure_Object_RAM(_barriers, sizeof(Barrier_Control) ) 2177 #endif 2178 2179 #ifndef CONFIGURE_MAXIMUM_USER_EXTENSIONS 2154 2180 /** 2155 2181 * This configuration parameter specifies the maximum number of 2156 * Classic API Barriers. 2157 */ 2158 #ifndef CONFIGURE_MAXIMUM_BARRIERS 2159 #define CONFIGURE_MAXIMUM_BARRIERS 0 2160 #endif 2161 2162 /* 2163 * This macro is calculated to specify the number of Classic API 2164 * Barriers required by the application and configured capabilities. 2165 */ 2166 #define _CONFIGURE_BARRIERS \ 2167 (CONFIGURE_MAXIMUM_BARRIERS + _CONFIGURE_BARRIERS_FOR_FIFOS) 2168 2182 * Classic API User Extensions. 2183 */ 2184 #define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 2169 2185 /* 2170 2186 * This macro is calculated to specify the memory required for 2171 * Classic API Barriers. 2172 */ 2173 #if _CONFIGURE_BARRIERS == 0 2174 #define _CONFIGURE_MEMORY_FOR_BARRIERS(_barriers) 0 2175 #else 2176 #define _CONFIGURE_MEMORY_FOR_BARRIERS(_barriers) \ 2177 _Configure_Object_RAM(_barriers, sizeof(Barrier_Control) ) 2178 #endif 2179 2180 #ifndef CONFIGURE_MAXIMUM_USER_EXTENSIONS 2181 /** 2182 * This configuration parameter specifies the maximum number of 2183 * Classic API User Extensions. 2184 */ 2185 #define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 2186 /* 2187 * This macro is calculated to specify the memory required for 2188 * Classic API User Extensions. 2189 */ 2190 #define _CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) 0 2191 #else 2192 #define _CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) \ 2193 _Configure_Object_RAM(_extensions, sizeof(Extension_Control) ) 2194 #endif 2195 /**@}*/ /* end of Classic API Configuration */ 2196 2197 /** 2198 * @defgroup ConfigurationGeneral General System Configuration 2199 * 2200 * @ingroup Configuration 2201 * 2202 * This module contains configuration parameters that are independent 2203 * of any API but impact general system configuration. 2204 */ 2205 /**@{*/ 2206 2207 /** The configures the number of microseconds per clock tick. */ 2208 #ifndef CONFIGURE_MICROSECONDS_PER_TICK 2209 #define CONFIGURE_MICROSECONDS_PER_TICK \ 2210 RTEMS_MILLISECONDS_TO_MICROSECONDS(10) 2211 #endif 2212 2213 #if 1000000 % CONFIGURE_MICROSECONDS_PER_TICK != 0 2214 #warning "The clock ticks per second is not an integer" 2215 #endif 2216 2217 #if CONFIGURE_MICROSECONDS_PER_TICK <= 0 2218 #error "The CONFIGURE_MICROSECONDS_PER_TICK must be positive" 2219 #endif 2220 2221 #define _CONFIGURE_TICKS_PER_SECOND (1000000 / CONFIGURE_MICROSECONDS_PER_TICK) 2222 2223 /** The configures the number of clock ticks per timeslice. */ 2224 #ifndef CONFIGURE_TICKS_PER_TIMESLICE 2225 #define CONFIGURE_TICKS_PER_TIMESLICE 50 2226 #endif 2187 * Classic API User Extensions. 2188 */ 2189 #define _CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) 0 2190 #else 2191 #define _CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) \ 2192 _Configure_Object_RAM(_extensions, sizeof(Extension_Control) ) 2193 #endif 2194 2195 /**@}*/ /* end of Classic API Configuration */ 2196 2197 /** 2198 * @defgroup ConfigurationGeneral General System Configuration 2199 * 2200 * @ingroup Configuration 2201 * 2202 * This module contains configuration parameters that are independent 2203 * of any API but impact general system configuration. 2204 */ 2205 /**@{*/ 2206 2207 /** The configures the number of microseconds per clock tick. */ 2208 #ifndef CONFIGURE_MICROSECONDS_PER_TICK 2209 #define CONFIGURE_MICROSECONDS_PER_TICK \ 2210 RTEMS_MILLISECONDS_TO_MICROSECONDS(10) 2211 #endif 2212 2213 #if 1000000 % CONFIGURE_MICROSECONDS_PER_TICK != 0 2214 #warning "The clock ticks per second is not an integer" 2215 #endif 2216 2217 #if CONFIGURE_MICROSECONDS_PER_TICK <= 0 2218 #error "The CONFIGURE_MICROSECONDS_PER_TICK must be positive" 2219 #endif 2220 2221 #define _CONFIGURE_TICKS_PER_SECOND (1000000 / CONFIGURE_MICROSECONDS_PER_TICK) 2222 2223 /** The configures the number of clock ticks per timeslice. */ 2224 #ifndef CONFIGURE_TICKS_PER_TIMESLICE 2225 #define CONFIGURE_TICKS_PER_TIMESLICE 50 2226 #endif 2227 2227 2228 2228 /**@}*/ /* end of General Configuration */ … … 3111 3111 }; 3112 3112 #endif 3113 3114 #endif /* CONFIGURE_HAS_OWN_CONFIGURATION_TABLE */3115 3113 3116 3114 #if defined(RTEMS_SMP) … … 3437 3435 #endif 3438 3436 3437 #ifdef CONFIGURE_HAS_OWN_CONFIGURATION_TABLE 3438 #warning "The CONFIGURE_HAS_OWN_CONFIGURATION_TABLE configuration option is obsolete since RTEMS 5.1" 3439 #endif 3440 3439 3441 #ifdef CONFIGURE_HAS_OWN_FILESYSTEM_TABLE 3440 3442 #warning "The CONFIGURE_HAS_OWN_FILESYSTEM_TABLE configuration option is obsolete since RTEMS 5.1"
Note: See TracChangeset
for help on using the changeset viewer.