diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-14 11:20:42 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-02-25 07:15:18 +0100 |
commit | 3b4795b46fa190ea29007a6b9766689cacffe3d2 (patch) | |
tree | 0a1bb8cc582370c2469805d580eb0c230a832289 /cpukit/include | |
parent | config: Bring back RTEMS 4.11 configuration table (diff) | |
download | rtems-3b4795b46fa190ea29007a6b9766689cacffe3d2.tar.bz2 |
config: Remove CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
The CONFIGURE_HAS_OWN_INIT_TASK_TABLE and
CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE are the last *_HAS_OWN_*
configuration options. These two options are probably unused, see also:
* https://lists.rtems.org/pipermail/users/2019-April/033129.html
* https://lists.rtems.org/pipermail/users/2019-April/033130.html
Removing them simplifies the configuration. If there is a real user need
which shows up after the removal, we can resurrect them on demand.
Using CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE would have required the
use of the undocumented CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME and
CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE configuration options.
Update #3874.
Diffstat (limited to 'cpukit/include')
-rw-r--r-- | cpukit/include/rtems/confdefs.h | 51 | ||||
-rw-r--r-- | cpukit/include/rtems/config.h | 1 | ||||
-rw-r--r-- | cpukit/include/rtems/posix/config.h | 60 | ||||
-rw-r--r-- | cpukit/include/rtems/posix/pthread.h | 25 | ||||
-rw-r--r-- | cpukit/include/rtems/posix/pthreadimpl.h | 1 |
5 files changed, 38 insertions, 100 deletions
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 13ba4466f0..6a8b9ecb7e 100644 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -2155,32 +2155,14 @@ struct _reent *__getreent(void) #endif #ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE - #ifndef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE - #ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT - #define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT POSIX_Init - #endif - - #ifndef CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE - #define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE \ - CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE - #endif - - #ifdef CONFIGURE_INIT - posix_initialization_threads_table POSIX_Initialization_threads[] = { - { CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT, - CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE } - }; - #endif - - #define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME \ - POSIX_Initialization_threads + #ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT + #define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT POSIX_Init + #endif - #define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE \ - RTEMS_ARRAY_SIZE(CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME) - #endif /* !CONFIGURE_POSIX_HAS_OWN_INIT_TASK_TABLE */ -#else /* !CONFIGURE_POSIX_INIT_THREAD_TABLE */ - #define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME NULL - #define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE 0 + #ifndef CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE + #define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE \ + CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE + #endif #endif /* CONFIGURE_POSIX_INIT_THREAD_TABLE */ /** @@ -2755,17 +2737,14 @@ struct _reent *__getreent(void) * then we need to install the code that runs that loop. */ #ifdef CONFIGURE_INIT - #if defined(CONFIGURE_POSIX_INIT_THREAD_TABLE) || \ - defined(CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE) - posix_initialization_threads_table * const - _Configuration_POSIX_Initialization_threads = - CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME; - - const size_t _Configuration_POSIX_Initialization_thread_count = - CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE; + #if defined(CONFIGURE_POSIX_INIT_THREAD_TABLE) + const posix_initialization_threads_table _POSIX_Threads_User_thread_table = { + CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT, + CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE + }; RTEMS_SYSINIT_ITEM( - _POSIX_Threads_Initialize_user_threads_body, + _POSIX_Threads_Initialize_user_thread, RTEMS_SYSINIT_POSIX_USER_THREADS, RTEMS_SYSINIT_ORDER_MIDDLE ); @@ -2990,6 +2969,10 @@ struct _reent *__getreent(void) #warning "The CONFIGURE_MAXIMUM_PTYS configuration option is obsolete since RTEMS 5.1" #endif +#ifdef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE + #warning "The CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE configuration option is obsolete since RTEMS 5.1" +#endif + #ifdef CONFIGURE_TERMIOS_DISABLED #warning "The CONFIGURE_TERMIOS_DISABLED configuration option is obsolete since RTEMS 5.1" #endif diff --git a/cpukit/include/rtems/config.h b/cpukit/include/rtems/config.h index 24a654e39c..d9f91db741 100644 --- a/cpukit/include/rtems/config.h +++ b/cpukit/include/rtems/config.h @@ -34,7 +34,6 @@ #include <rtems/score/userextdata.h> #include <rtems/score/watchdogticks.h> #include <rtems/rtems/config.h> -#include <rtems/posix/config.h> #include <rtems/extension.h> #if defined(RTEMS_MULTIPROCESSING) #include <rtems/rtems/types.h> diff --git a/cpukit/include/rtems/posix/config.h b/cpukit/include/rtems/posix/config.h deleted file mode 100644 index a7e60c2fee..0000000000 --- a/cpukit/include/rtems/posix/config.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @file - * - * @brief User Defined Configuration Parameters Specific For The POSIX API - * - * This include file contains the table of user defined configuration - * parameters specific for the POSIX API. - */ - -/* - * COPYRIGHT (c) 1989-2014. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_POSIX_CONFIG_H -#define _RTEMS_POSIX_CONFIG_H - -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup PosixConfig Configuration - * - * @ingroup POSIXAPI - * - * This encapsulates functionality related to the application's configuration - * of the Classic API including the maximum number of each class of objects. - */ -/**@{*/ - -/** - * For now, we are only allowing the user to specify the entry point - * and stack size for POSIX initialization threads. - */ -typedef struct { - /** This is the entry point for a POSIX initialization thread. */ - void *(*thread_entry)(void *); - /** This is the stack size for a POSIX initialization thread. */ - int stack_size; -} posix_initialization_threads_table; - -extern posix_initialization_threads_table * const - _Configuration_POSIX_Initialization_threads; - -extern const size_t _Configuration_POSIX_Initialization_thread_count; - -/**@}*/ -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/cpukit/include/rtems/posix/pthread.h b/cpukit/include/rtems/posix/pthread.h index 5df938e0b9..8aa11c53fe 100644 --- a/cpukit/include/rtems/posix/pthread.h +++ b/cpukit/include/rtems/posix/pthread.h @@ -36,15 +36,32 @@ extern "C" { */ /**@{**/ +/** + * For now, we are only allowing the user to specify the entry point + * and stack size for POSIX initialization threads. + */ +typedef struct { + /** This is the entry point for a POSIX initialization thread. */ + void *(*thread_entry)(void *); + /** This is the stack size for a POSIX initialization thread. */ + int stack_size; +} posix_initialization_threads_table; + extern const size_t _POSIX_Threads_Minimum_stack_size; /** - * @brief POSIX threads initialize user threads body. + * @brief Initialization table for the first user POSIX thread. * - * This routine creates and starts all configured user - * initialization threads. + * This table is used by _POSIX_Threads_Initialize_user_thread() and + * initialized via <rtems/confdefs.h>. + */ +extern const posix_initialization_threads_table + _POSIX_Threads_User_thread_table; + +/** + * @brief System initialization handler to create the first user POSIX thread. */ -extern void _POSIX_Threads_Initialize_user_threads_body(void); +extern void _POSIX_Threads_Initialize_user_thread( void ); /** * The following defines the information control block used to manage diff --git a/cpukit/include/rtems/posix/pthreadimpl.h b/cpukit/include/rtems/posix/pthreadimpl.h index fd263c2761..74e46e4d92 100644 --- a/cpukit/include/rtems/posix/pthreadimpl.h +++ b/cpukit/include/rtems/posix/pthreadimpl.h @@ -20,7 +20,6 @@ #define _RTEMS_POSIX_PTHREADIMPL_H #include <rtems/posix/pthread.h> -#include <rtems/posix/config.h> #include <rtems/posix/threadsup.h> #include <rtems/score/assert.h> #include <rtems/score/objectimpl.h> |