diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-09-28 11:12:38 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-09-30 12:43:49 +0200 |
commit | c53402c47b888b42de1104fd4b0faefb4beaa235 (patch) | |
tree | ddfa3a87ead924e90b07dda4c4b92310b1c53fba | |
parent | ec7cb9c84d2f75aadfc58d6211abf3254648d8c2 (diff) |
FIXME split getconfigmax.c
-rw-r--r-- | cpukit/sapi/src/getconfigmax.c | 14 | ||||
-rw-r--r-- | cpukit/sapi/src/getconfigmax2.c | 64 | ||||
-rw-r--r-- | spec/build/cpukit/librtemscpu.yml | 1 | ||||
-rw-r--r-- | spec/build/cpukit/objextra.yml | 2 |
4 files changed, 66 insertions, 15 deletions
diff --git a/cpukit/sapi/src/getconfigmax.c b/cpukit/sapi/src/getconfigmax.c index 8e3cce67f1..ba4db251f0 100644 --- a/cpukit/sapi/src/getconfigmax.c +++ b/cpukit/sapi/src/getconfigmax.c @@ -11,8 +11,6 @@ * rtems_configuration_get_maximum_message_queues(), * rtems_configuration_get_maximum_partitions(), * rtems_configuration_get_maximum_periods(), - * rtems_configuration_get_maximum_ports(), - * rtems_configuration_get_maximum_regions(), * rtems_configuration_get_maximum_semaphores(), * rtems_configuration_get_maximum_tasks(), and * rtems_configuration_get_maximum_timers(). @@ -50,11 +48,9 @@ #include <rtems/config.h> #include <rtems/extensionimpl.h> #include <rtems/rtems/barrierimpl.h> -#include <rtems/rtems/dpmemimpl.h> #include <rtems/rtems/messageimpl.h> #include <rtems/rtems/partimpl.h> #include <rtems/rtems/ratemonimpl.h> -#include <rtems/rtems/regionimpl.h> #include <rtems/rtems/semimpl.h> #include <rtems/rtems/tasksimpl.h> #include <rtems/rtems/timerimpl.h> @@ -94,16 +90,6 @@ uint32_t rtems_configuration_get_maximum_periods( void ) return get_config_max( &_Rate_monotonic_Information ); } -uint32_t rtems_configuration_get_maximum_ports( void ) -{ - return get_config_max( &_Dual_ported_memory_Information ); -} - -uint32_t rtems_configuration_get_maximum_regions( void ) -{ - return get_config_max( &_Region_Information ); -} - uint32_t rtems_configuration_get_maximum_semaphores( void ) { return get_config_max( &_Semaphore_Information ); diff --git a/cpukit/sapi/src/getconfigmax2.c b/cpukit/sapi/src/getconfigmax2.c new file mode 100644 index 0000000000..24ce5af3ee --- /dev/null +++ b/cpukit/sapi/src/getconfigmax2.c @@ -0,0 +1,64 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSImplClassic + * + * @brief This source file contains the implementation of + * rtems_configuration_get_maximum_ports() and + * rtems_configuration_get_maximum_regions(). + */ + +/* + * Copyright (C) 2018 embedded brains GmbH + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <rtems/config.h> +#include <rtems/extensionimpl.h> +#include <rtems/rtems/dpmemimpl.h> +#include <rtems/rtems/regionimpl.h> + +static uint32_t get_config_max( const Objects_Information *info ) +{ + if ( _Objects_Is_auto_extend( info ) ) { + return info->objects_per_block | RTEMS_UNLIMITED_OBJECTS; + } + + return _Objects_Get_maximum_index( info ); +} + +uint32_t rtems_configuration_get_maximum_ports( void ) +{ + return get_config_max( &_Dual_ported_memory_Information ); +} + +uint32_t rtems_configuration_get_maximum_regions( void ) +{ + return get_config_max( &_Region_Information ); +} diff --git a/spec/build/cpukit/librtemscpu.yml b/spec/build/cpukit/librtemscpu.yml index 779b7be6d3..2fef474253 100644 --- a/spec/build/cpukit/librtemscpu.yml +++ b/spec/build/cpukit/librtemscpu.yml @@ -365,6 +365,7 @@ source: - cpukit/sapi/src/extensioncreate.c - cpukit/sapi/src/extensiondelete.c - cpukit/sapi/src/extensionident.c +- cpukit/sapi/src/getconfigmax.c - cpukit/score/src/allocatormutex.c - cpukit/score/src/apimutexisowner.c - cpukit/score/src/apimutexlock.c diff --git a/spec/build/cpukit/objextra.yml b/spec/build/cpukit/objextra.yml index 3d7ee44dbb..4fbb62c8b5 100644 --- a/spec/build/cpukit/objextra.yml +++ b/spec/build/cpukit/objextra.yml @@ -1019,7 +1019,7 @@ source: - cpukit/sapi/src/exshutdown.c - cpukit/sapi/src/fatal.c - cpukit/sapi/src/fatalsrctext.c -- cpukit/sapi/src/getconfigmax.c +- cpukit/sapi/src/getconfigmax2.c - cpukit/sapi/src/getcopyrightnotice.c - cpukit/sapi/src/getversionstring.c - cpukit/sapi/src/interrtext.c |