Changeset 68f339b6 in rtems


Ignore:
Timestamp:
Sep 17, 2018, 9:53:10 AM (9 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
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)
Message:

Remove CONFIGURE_HAS_OWN_CONFIGURATION_TABLE

The RTEMS configuration should be done via explicit configuration
options to allow more freedom for implementation changes.

Update #3489.
Update #3490.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/include/rtems/confdefs.h

    r5fa0a1f6 r68f339b6  
    20092009 */
    20102010/**@{*/
    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
    20432027  /*
    20442028   * 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
    20592095  /*
    20602096   * 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   */
    21482147  #define _CONFIGURE_MEMORY_FOR_PERIODS(_periods) 0
    21492148#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
    21542180  /**
    21552181   * 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
    21692185  /*
    21702186   * 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
    22272227
    22282228/**@}*/ /* end of General Configuration */
     
    31113111  };
    31123112#endif
    3113 
    3114 #endif /* CONFIGURE_HAS_OWN_CONFIGURATION_TABLE */
    31153113
    31163114#if defined(RTEMS_SMP)
     
    34373435#endif
    34383436
     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
    34393441#ifdef CONFIGURE_HAS_OWN_FILESYSTEM_TABLE
    34403442  #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.