Remove all comments and copyrightable content from the moved content. Use BSD-2-Clause license for new file.
Update #3053. Update #3875. --- cpukit/headers.am | 1 + cpukit/include/rtems/confdefs.h | 100 +-------------------- cpukit/include/rtems/confdefs/bdbuf.h | 161 ++++++++++++++++++++++++++++++++++ 3 files changed, 164 insertions(+), 98 deletions(-) create mode 100644 cpukit/include/rtems/confdefs/bdbuf.h diff --git a/cpukit/headers.am b/cpukit/headers.am index 2cb59165bf..10014ee489 100644 --- a/cpukit/headers.am +++ b/cpukit/headers.am @@ -183,6 +183,7 @@ include_rtems_HEADERS += include/rtems/userenv.h include_rtems_HEADERS += include/rtems/version.h include_rtems_HEADERS += include/rtems/vmeintr.h include_rtems_HEADERS += include/rtems/watchdogdrv.h +include_rtems_confdefs_HEADERS += include/rtems/confdefs/bdbuf.h include_rtems_confdefs_HEADERS += include/rtems/confdefs/bsp.h include_rtems_confdefs_HEADERS += include/rtems/confdefs/libio.h include_rtems_confdefs_HEADERS += include/rtems/confdefs/libpci.h diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index ba37f0abe7..15e921629b 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -50,6 +50,7 @@ #include <rtems/posix/shm.h> #include <rtems/posix/timer.h> #include <rtems/confdefs/obsolete.h> +#include <rtems/confdefs/bdbuf.h> #include <rtems/confdefs/libio.h> #include <rtems/confdefs/libpci.h> #include <rtems/confdefs/percpu.h> @@ -463,103 +464,6 @@ extern "C" { #endif /**@}*/ /* end of Device Driver Table Configuration */ -/** - * @defgroup ConfigurationLibBlock Configuration of LIBBLOCK - * - * @addtogroup Configuration - * - * This module contains parameters related to the LIBBLOCK buffering - * and caching subsystem. It requires tasks to swap out data to be - * written to non-volatile storage. - */ -/**@{*/ -#ifdef CONFIGURE_APPLICATION_NEEDS_LIBBLOCK - #include <rtems/bdbuf.h> - /* - * configure the bdbuf cache parameters - */ - #ifndef CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS - #define CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS \ - RTEMS_BDBUF_MAX_READ_AHEAD_BLOCKS_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_MAX_WRITE_BLOCKS - #define CONFIGURE_BDBUF_MAX_WRITE_BLOCKS \ - RTEMS_BDBUF_MAX_WRITE_BLOCKS_DEFAULT - #endif - #ifndef CONFIGURE_SWAPOUT_TASK_PRIORITY - #define CONFIGURE_SWAPOUT_TASK_PRIORITY \ - RTEMS_BDBUF_SWAPOUT_TASK_PRIORITY_DEFAULT - #endif - #ifndef CONFIGURE_SWAPOUT_SWAP_PERIOD - #define CONFIGURE_SWAPOUT_SWAP_PERIOD \ - RTEMS_BDBUF_SWAPOUT_TASK_SWAP_PERIOD_DEFAULT - #endif - #ifndef CONFIGURE_SWAPOUT_BLOCK_HOLD - #define CONFIGURE_SWAPOUT_BLOCK_HOLD \ - RTEMS_BDBUF_SWAPOUT_TASK_BLOCK_HOLD_DEFAULT - #endif - #ifndef CONFIGURE_SWAPOUT_WORKER_TASKS - #define CONFIGURE_SWAPOUT_WORKER_TASKS \ - RTEMS_BDBUF_SWAPOUT_WORKER_TASKS_DEFAULT - #endif - #ifndef CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY - #define CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY \ - RTEMS_BDBUF_SWAPOUT_WORKER_TASK_PRIORITY_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_TASK_STACK_SIZE - #define CONFIGURE_BDBUF_TASK_STACK_SIZE \ - RTEMS_BDBUF_TASK_STACK_SIZE_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_CACHE_MEMORY_SIZE - #define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE \ - RTEMS_BDBUF_CACHE_MEMORY_SIZE_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_BUFFER_MIN_SIZE - #define CONFIGURE_BDBUF_BUFFER_MIN_SIZE \ - RTEMS_BDBUF_BUFFER_MIN_SIZE_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_BUFFER_MAX_SIZE - #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE \ - RTEMS_BDBUF_BUFFER_MAX_SIZE_DEFAULT - #endif - #ifndef CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY - #define CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY \ - RTEMS_BDBUF_READ_AHEAD_TASK_PRIORITY_DEFAULT - #endif - #ifdef CONFIGURE_INIT - const rtems_bdbuf_config rtems_bdbuf_configuration = { - CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS, - CONFIGURE_BDBUF_MAX_WRITE_BLOCKS, - CONFIGURE_SWAPOUT_TASK_PRIORITY, - CONFIGURE_SWAPOUT_SWAP_PERIOD, - CONFIGURE_SWAPOUT_BLOCK_HOLD, - CONFIGURE_SWAPOUT_WORKER_TASKS, - CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY, - CONFIGURE_BDBUF_TASK_STACK_SIZE, - CONFIGURE_BDBUF_CACHE_MEMORY_SIZE, - CONFIGURE_BDBUF_BUFFER_MIN_SIZE, - CONFIGURE_BDBUF_BUFFER_MAX_SIZE, - CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY - }; - #endif - - #define _CONFIGURE_LIBBLOCK_TASKS \ - (1 + CONFIGURE_SWAPOUT_WORKER_TASKS + \ - (CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS != 0)) - - #define _CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS \ - (_CONFIGURE_LIBBLOCK_TASKS * \ - (CONFIGURE_BDBUF_TASK_STACK_SIZE <= CONFIGURE_MINIMUM_TASK_STACK_SIZE ? \ - 0 : CONFIGURE_BDBUF_TASK_STACK_SIZE - CONFIGURE_MINIMUM_TASK_STACK_SIZE)) -#else - /** This specifies the number of libblock tasks. */ - #define _CONFIGURE_LIBBLOCK_TASKS 0 - /** This specifies the extra stack space configured for libblock tasks. */ - #define _CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS 0 - /** This specifies the number of Classic API semaphores needed by libblock. */ -#endif /* CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */ -/**@}*/ - /** * @defgroup ConfigurationMultiprocessing Multiprocessing Configuration * @@ -1243,7 +1147,7 @@ struct _reent *__getreent(void) _CONFIGURE_INITIALIZATION_THREADS_EXTRA_STACKS + \ _CONFIGURE_TASKS_STACK + \ _CONFIGURE_POSIX_THREADS_STACK + \ - _CONFIGURE_LIBBLOCK_TASK_EXTRA_STACKS + \ + _CONFIGURE_LIBBLOCK_TASKS_STACK_EXTRA + \ CONFIGURE_EXTRA_TASK_STACKS + \ _CONFIGURE_HEAP_HANDLER_OVERHEAD \ ) diff --git a/cpukit/include/rtems/confdefs/bdbuf.h b/cpukit/include/rtems/confdefs/bdbuf.h new file mode 100644 index 0000000000..6d873eadfa --- /dev/null +++ b/cpukit/include/rtems/confdefs/bdbuf.h @@ -0,0 +1,161 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * + * 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. + */ + +/** + * @file + * + * @ingroup RTEMSApplicationConfiguration + * + * @brief Evaluate Block Device Cache Configuration Options + * + * It defines + * + * - _CONFIGURE_LIBBLOCK_TASKS and + * + * - _CONFIGURE_LIBBLOCK_TASKS_STACK_EXTRA + * + * for use by other configuration header files. + */ + +#ifndef _RTEMS_CONFDEFS_BDBUF_H +#define _RTEMS_CONFDEFS_BDBUF_H + +#ifndef __CONFIGURATION_TEMPLATE_h +#error "Do not include this file directly, use <rtems/confdefs.h> instead" +#endif + +#ifdef CONFIGURE_INIT + +#ifdef CONFIGURE_APPLICATION_NEEDS_LIBBLOCK + +#include <rtems/confdefs/percpu.h> +#include <rtems/bdbuf.h> + +#ifndef CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS + #define CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS \ + RTEMS_BDBUF_MAX_READ_AHEAD_BLOCKS_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_MAX_WRITE_BLOCKS + #define CONFIGURE_BDBUF_MAX_WRITE_BLOCKS \ + RTEMS_BDBUF_MAX_WRITE_BLOCKS_DEFAULT +#endif + +#ifndef CONFIGURE_SWAPOUT_TASK_PRIORITY + #define CONFIGURE_SWAPOUT_TASK_PRIORITY \ + RTEMS_BDBUF_SWAPOUT_TASK_PRIORITY_DEFAULT +#endif + +#ifndef CONFIGURE_SWAPOUT_SWAP_PERIOD + #define CONFIGURE_SWAPOUT_SWAP_PERIOD \ + RTEMS_BDBUF_SWAPOUT_TASK_SWAP_PERIOD_DEFAULT +#endif + +#ifndef CONFIGURE_SWAPOUT_BLOCK_HOLD + #define CONFIGURE_SWAPOUT_BLOCK_HOLD \ + RTEMS_BDBUF_SWAPOUT_TASK_BLOCK_HOLD_DEFAULT +#endif + +#ifndef CONFIGURE_SWAPOUT_WORKER_TASKS + #define CONFIGURE_SWAPOUT_WORKER_TASKS \ + RTEMS_BDBUF_SWAPOUT_WORKER_TASKS_DEFAULT +#endif + +#ifndef CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY + #define CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY \ + RTEMS_BDBUF_SWAPOUT_WORKER_TASK_PRIORITY_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_TASK_STACK_SIZE + #define CONFIGURE_BDBUF_TASK_STACK_SIZE \ + RTEMS_BDBUF_TASK_STACK_SIZE_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_CACHE_MEMORY_SIZE + #define CONFIGURE_BDBUF_CACHE_MEMORY_SIZE \ + RTEMS_BDBUF_CACHE_MEMORY_SIZE_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_BUFFER_MIN_SIZE + #define CONFIGURE_BDBUF_BUFFER_MIN_SIZE \ + RTEMS_BDBUF_BUFFER_MIN_SIZE_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_BUFFER_MAX_SIZE + #define CONFIGURE_BDBUF_BUFFER_MAX_SIZE \ + RTEMS_BDBUF_BUFFER_MAX_SIZE_DEFAULT +#endif + +#ifndef CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY + #define CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY \ + RTEMS_BDBUF_READ_AHEAD_TASK_PRIORITY_DEFAULT +#endif + +#define _CONFIGURE_LIBBLOCK_TASKS \ + ( 1 + CONFIGURE_SWAPOUT_WORKER_TASKS \ + + ( CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS != 0 ) ) + +#define _CONFIGURE_LIBBLOCK_TASKS_STACK_EXTRA \ + ( _CONFIGURE_LIBBLOCK_TASKS \ + * ( CONFIGURE_BDBUF_TASK_STACK_SIZE <= CONFIGURE_MINIMUM_TASK_STACK_SIZE ? \ + 0 : \ + CONFIGURE_BDBUF_TASK_STACK_SIZE - CONFIGURE_MINIMUM_TASK_STACK_SIZE ) ) + +#ifdef __cplusplus +extern "C" { +#endif + +const rtems_bdbuf_config rtems_bdbuf_configuration = { + CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS, + CONFIGURE_BDBUF_MAX_WRITE_BLOCKS, + CONFIGURE_SWAPOUT_TASK_PRIORITY, + CONFIGURE_SWAPOUT_SWAP_PERIOD, + CONFIGURE_SWAPOUT_BLOCK_HOLD, + CONFIGURE_SWAPOUT_WORKER_TASKS, + CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY, + CONFIGURE_BDBUF_TASK_STACK_SIZE, + CONFIGURE_BDBUF_CACHE_MEMORY_SIZE, + CONFIGURE_BDBUF_BUFFER_MIN_SIZE, + CONFIGURE_BDBUF_BUFFER_MAX_SIZE, + CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY +}; + +#ifdef __cplusplus +} +#endif + +#else /* !CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */ + +#define _CONFIGURE_LIBBLOCK_TASKS 0 + +#define _CONFIGURE_LIBBLOCK_TASKS_STACK_EXTRA 0 + +#endif /* CONFIGURE_APPLICATION_NEEDS_LIBBLOCK */ + +#endif /* CONFIGURE_INIT */ + +#endif /* _RTEMS_CONFDEFS_BDBUF_H */ -- 2.16.4 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel