[PATCH 1/2] tests: Add test for comparing clocks.
From: Christian Mauderer This test compares the elapsed time on the wall clock with the one on the mono clock. --- testsuites/sptests/Makefile.am | 1 + testsuites/sptests/configure.ac| 1 + testsuites/sptests/sptimecounter04/Makefile.am | 19 + testsuites/sptests/sptimecounter04/init.c | 88 ++ .../sptests/sptimecounter04/sptimecounter04.doc| 12 +++ .../sptests/sptimecounter04/sptimecounter04.scn| 2 + 6 files changed, 123 insertions(+) create mode 100644 testsuites/sptests/sptimecounter04/Makefile.am create mode 100644 testsuites/sptests/sptimecounter04/init.c create mode 100644 testsuites/sptests/sptimecounter04/sptimecounter04.doc create mode 100644 testsuites/sptests/sptimecounter04/sptimecounter04.scn diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am index b4bf741e70..cf95c4a9f6 100644 --- a/testsuites/sptests/Makefile.am +++ b/testsuites/sptests/Makefile.am @@ -53,6 +53,7 @@ _SUBDIRS += spintrcritical23 _SUBDIRS += sptimecounter01 _SUBDIRS += sptimecounter02 _SUBDIRS += sptimecounter03 +_SUBDIRS += sptimecounter04 _SUBDIRS += spatomic01 _SUBDIRS += spintrcritical22 _SUBDIRS += spsem03 diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac index 7bdb02c9a7..8ecd9b75f1 100644 --- a/testsuites/sptests/configure.ac +++ b/testsuites/sptests/configure.ac @@ -51,6 +51,7 @@ spintrcritical23/Makefile sptimecounter01/Makefile sptimecounter02/Makefile sptimecounter03/Makefile +sptimecounter04/Makefile spatomic01/Makefile spglobalcon01/Makefile spintrcritical22/Makefile diff --git a/testsuites/sptests/sptimecounter04/Makefile.am b/testsuites/sptests/sptimecounter04/Makefile.am new file mode 100644 index 00..ebd6bc17d6 --- /dev/null +++ b/testsuites/sptests/sptimecounter04/Makefile.am @@ -0,0 +1,19 @@ +rtems_tests_PROGRAMS = sptimecounter04 +sptimecounter04_SOURCES = init.c + +dist_rtems_tests_DATA = sptimecounter04.scn sptimecounter04.doc + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../automake/compile.am +include $(top_srcdir)/../automake/leaf.am + +AM_CPPFLAGS += -I$(top_srcdir)/../support/include + +LINK_OBJS = $(sptimecounter04_OBJECTS) +LINK_LIBS = $(sptimecounter04_LDLIBS) + +sptimecounter04$(EXEEXT): $(sptimecounter04_OBJECTS) $(sptimecounter04_DEPENDENCIES) + @rm -f sptimecounter04$(EXEEXT) + $(make-exe) + +include $(top_srcdir)/../automake/local.am diff --git a/testsuites/sptests/sptimecounter04/init.c b/testsuites/sptests/sptimecounter04/init.c new file mode 100644 index 00..b596163cd3 --- /dev/null +++ b/testsuites/sptests/sptimecounter04/init.c @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * 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. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include +#include +#include +#include +#include +#include + +#include "tmacros.h" + +const char rtems_test_name[] = "SPTIMECOUNTER 4"; + +static void Init(rtems_task_argument arg) +{ + struct timespec real_start; + struct timespec mono_start; + struct timespec real_end; + struct timespec mono_end; + struct timespec real_elapsed; + struct timespec mono_elapsed; + + struct timespec min; + struct timespec max; + + int rv; + + TEST_BEGIN(); + + rtems_timespec_set(&min, 1, 980 * 1000 * 1000); + rtems_timespec_set(&max, 2, 20 * 1000 * 1000); + + rv = clock_gettime(CLOCK_REALTIME, &real_start); + assert(rv == 0); + rv = clock_gettime(CLOCK_MONOTONIC, &mono_start); + assert(rv == 0); + + rtems_task_wake_after(2*rtems_clock_get_ticks_per_second()); + + rv = clock_gettime(CLOCK_REALTIME, &real_end); + assert(rv == 0); + rv = clock_gettime(CLOCK_MONOTONIC, &mono_end); + assert(rv == 0); + + rtems_timespec_subtract(&real_start, &real_end, &real_elapsed); + rtems_timespec_subtract(&mono_start, &mono_end, &mono_elapsed); + + assert(rtems_timespec_greater_than(&real_elapsed, &min)); + assert(rtems_timespec_greater_than(&max, &real_elapsed)); + assert(rtems_timespec_greater_than(&mono_elapsed, &min)); + assert(rtems_timespec_greater_than(&max, &mono_elapsed)); + + TEST_END(); + rtems_test_exit(0); +} + +#define CONFIGURE_MICROSECONDS_PER_TICK 1 + +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER + +#define CONFIGURE_MAXIMUM_TASKS 1 +#define CONFIGURE_MAXIMUM_TIMERS 1 +#define CONFIGURE_MAXIMUM_PERIODS 1 + +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE + +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION + +#define CONFIGURE_INIT + +#include diff --git a/testsuites/sptests/sptimecounter04/sptimecounter04.doc b/testsuites/sptests/sptimecounter04/sptimecounter04
[PATCH 2/2] bsps/arm: Remove DWT based clock.
From: Christian Mauderer It seems that the DWT CYCCNT does not advance when the CPU waits on a WFI instruction. That leads to the effect that for example on the atsamv BSP a sleep(1) needs something in the range of a few minutes (depending on the configured systick). A debugger might disables some deep sleep modes so that the problem only appears if the application is executed without a debugger. --- .../arm/shared/armv7m/clock/armv7m-clock-config.c | 37 -- 1 file changed, 7 insertions(+), 30 deletions(-) diff --git a/c/src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c b/c/src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c index e03ba9d83f..1c17a92cb5 100644 --- a/c/src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c +++ b/c/src/lib/libbsp/arm/shared/armv7m/clock/armv7m-clock-config.c @@ -88,18 +88,6 @@ static void _ARMV7M_TC_systick_tick(void) ); } -static uint32_t _ARMV7M_TC_dwt_get_timecount(struct timecounter *tc) -{ - volatile ARMV7M_DWT *dwt = _ARMV7M_DWT; - - return dwt->cyccnt; -} - -static void _ARMV7M_TC_dwt_tick(void) -{ - rtems_timecounter_tick(); -} - static void _ARMV7M_TC_tick(void) { (*_ARMV7M_TC.tick)(); @@ -131,7 +119,6 @@ static void _ARMV7M_Systick_initialize(void) #endif uint64_t us_per_tick = rtems_configuration_get_microseconds_per_tick(); uint64_t interval = (freq * us_per_tick) / 100ULL; - bool cyccnt_enabled; systick->rvr = (uint32_t) interval; systick->cvr = 0; @@ -139,23 +126,13 @@ static void _ARMV7M_Systick_initialize(void) | ARMV7M_SYSTICK_CSR_TICKINT | ARMV7M_SYSTICK_CSR_CLKSOURCE; - cyccnt_enabled = _ARMV7M_DWT_Enable_CYCCNT(); - if (cyccnt_enabled) { -_ARMV7M_TC.base.tc.tc_get_timecount = _ARMV7M_TC_dwt_get_timecount; -_ARMV7M_TC.base.tc.tc_counter_mask = 0x; -_ARMV7M_TC.base.tc.tc_frequency = freq; -_ARMV7M_TC.base.tc.tc_quality = RTEMS_TIMECOUNTER_QUALITY_CLOCK_DRIVER; -_ARMV7M_TC.tick = _ARMV7M_TC_dwt_tick; -rtems_timecounter_install(&_ARMV7M_TC.base.tc); - } else { -_ARMV7M_TC.tick = _ARMV7M_TC_systick_tick; -rtems_timecounter_simple_install( - &_ARMV7M_TC.base, - freq, - interval, - _ARMV7M_TC_systick_get_timecount -); - } + _ARMV7M_TC.tick = _ARMV7M_TC_systick_tick; + rtems_timecounter_simple_install( +&_ARMV7M_TC.base, +freq, +interval, +_ARMV7M_TC_systick_get_timecount + ); } static void _ARMV7M_Systick_cleanup(void) -- 2.12.3 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 3/3] posix: Simplify _POSIX_Threads_Create_extension()
Move unblocked signals initialization to pthread_create(). Update #2514. --- cpukit/posix/src/pthread.c | 17 - cpukit/posix/src/pthreadcreate.c | 4 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 8bd44ca03a..ba394b4924 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -122,26 +122,9 @@ static bool _POSIX_Threads_Create_extension( ) { POSIX_API_Control *api; - POSIX_API_Control *executing_api; api = created->API_Extensions[ THREAD_API_POSIX ]; - /* - * If the thread is not a posix thread, then all posix signals are blocked - * by default. - * - * The check for class == 1 is debug. Should never really happen. - */ - RTEMS_STATIC_ASSERT( SIGNAL_EMPTY_MASK == 0, signals_pending ); - if ( _Objects_Get_API( created->Object.id ) == OBJECTS_POSIX_API - #if defined(RTEMS_DEBUG) - && _Objects_Get_class( created->Object.id ) == 1 - #endif - ) { -executing_api = _Thread_Get_executing()->API_Extensions[ THREAD_API_POSIX ]; -api->signals_unblocked = executing_api->signals_unblocked; - } - api->Sporadic.thread = created; _Watchdog_Preinitialize( &api->Sporadic.Timer, _Per_CPU_Get_by_index( 0 ) ); _Watchdog_Initialize( &api->Sporadic.Timer, _POSIX_Threads_Sporadic_timer ); diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c index 0de566f7c2..2315b7f5ee 100644 --- a/cpukit/posix/src/pthreadcreate.c +++ b/cpukit/posix/src/pthreadcreate.c @@ -74,6 +74,7 @@ int pthread_create( Thread_Control *executing; const Scheduler_Control*scheduler; POSIX_API_Control *api; + const POSIX_API_Control*executing_api; int schedpolicy = SCHED_RR; struct sched_param schedparam; Objects_Namename; @@ -237,6 +238,9 @@ int pthread_create( * finish initializing the per API structure */ api = the_thread->API_Extensions[ THREAD_API_POSIX ]; + executing_api = executing->API_Extensions[ THREAD_API_POSIX ]; + + api->signals_unblocked = executing_api->signals_unblocked; api->created_with_explicit_scheduler = ( the_attr->inheritsched == PTHREAD_EXPLICIT_SCHED ); -- 2.12.3 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH 2/3] posix: Remove POSIX_API_Control::schedparam
Move sporadic server scheduler parameters to POSIX_API_Control::Sporadic. Remove redundant scheduler priority parameter. Update #2514. --- cpukit/posix/include/rtems/posix/pthreadattrimpl.h | 18 +++ cpukit/posix/include/rtems/posix/pthreadimpl.h | 4 ++-- cpukit/posix/include/rtems/posix/threadsup.h | 20 +--- cpukit/posix/src/pthread.c | 6 - cpukit/posix/src/pthreadcreate.c | 8 ++- cpukit/posix/src/pthreadgetattrnp.c| 24 +++ cpukit/posix/src/pthreadgetschedparam.c| 4 ++-- cpukit/posix/src/pthreadsetschedparam.c| 27 -- testsuites/psxtests/psxgetattrnp01/init.c | 6 + 9 files changed, 81 insertions(+), 36 deletions(-) diff --git a/cpukit/posix/include/rtems/posix/pthreadattrimpl.h b/cpukit/posix/include/rtems/posix/pthreadattrimpl.h index a52be931a1..1e5105deab 100644 --- a/cpukit/posix/include/rtems/posix/pthreadattrimpl.h +++ b/cpukit/posix/include/rtems/posix/pthreadattrimpl.h @@ -24,6 +24,8 @@ #include #include +#include +#include #ifdef __cplusplus extern "C" { @@ -61,6 +63,22 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Initialize_attributes( ); } +RTEMS_INLINE_ROUTINE void _POSIX_Threads_Get_sched_param_sporadic( + const Thread_Control*the_thread, + const POSIX_API_Control *api, + const Scheduler_Control *scheduler, + struct sched_param *param +) +{ + param->sched_ss_low_priority = _POSIX_Priority_From_core( +scheduler, +api->Sporadic.Low_priority.priority + ); + param->sched_ss_repl_period = api->Sporadic.sched_ss_repl_period; + param->sched_ss_init_budget = api->Sporadic.sched_ss_init_budget; + param->sched_ss_max_repl = api->Sporadic.sched_ss_max_repl; +} + /** @} */ #ifdef __cplusplus diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h index bae9e344a0..82593d3097 100644 --- a/cpukit/posix/include/rtems/posix/pthreadimpl.h +++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h @@ -54,12 +54,12 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert( ) { the_thread->cpu_time_budget = -_Timespec_To_ticks( &api->schedparam.sched_ss_init_budget ); +_Timespec_To_ticks( &api->Sporadic.sched_ss_init_budget ); _Watchdog_Per_CPU_insert_ticks( &api->Sporadic.Timer, _Per_CPU_Get(), -_Timespec_To_ticks( &api->schedparam.sched_ss_repl_period ) +_Timespec_To_ticks( &api->Sporadic.sched_ss_repl_period ) ); } diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index 816ef566d8..b3b3910084 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -46,9 +46,6 @@ typedef struct { /** The scheduler policy. */ int schedpolicy; - /** The scheduler parameters */ - struct sched_param schedparam; - /** * @brief Control block for the sporadic server scheduling policy. */ @@ -67,6 +64,23 @@ typedef struct { * policy. */ Priority_Node Low_priority; + +/** + * @brief Replenishment period for sporadic server. + */ +struct timespec sched_ss_repl_period; + +/** + * @brief Initial budget for sporadic server. + */ +struct timespec sched_ss_init_budget; + +/** + * @brief Maximum pending replenishments. + * + * Only used by pthread_getschedparam() and pthread_getattr_np(). +*/ +int sched_ss_max_repl; } Sporadic; /** This is the set of signals which are currently unblocked. */ diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 291b19532d..8bd44ca03a 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -126,12 +126,6 @@ static bool _POSIX_Threads_Create_extension( api = created->API_Extensions[ THREAD_API_POSIX ]; - /* XXX check all fields are touched */ - api->schedparam.sched_priority = _POSIX_Priority_From_core( -_Thread_Scheduler_get_home( created ), -_Thread_Get_priority( created ) - ); - /* * If the thread is not a posix thread, then all posix signals are blocked * by default. diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c index d8cafe52ce..0de566f7c2 100644 --- a/cpukit/posix/src/pthreadcreate.c +++ b/cpukit/posix/src/pthreadcreate.c @@ -241,8 +241,14 @@ int pthread_create( api->created_with_explicit_scheduler = ( the_attr->inheritsched == PTHREAD_EXPLICIT_SCHED ); api->schedpolicy = the_attr->schedpolicy; - api->schedparam = the_attr->schedparam; + _Priority_Node_set_priority( &api->Sporadic.Low_priority, core_low_prio ); + api->Sporadic.sched_ss_repl_period = +the_attr->schedparam.sched_ss_repl_period; + api->Sporadic.sched_ss_init_budget = +the_attr->schedparam.sched_ss_init_budget; + api->Sporadic.sched_ss_max_repl = +the_attr->schedparam
[PATCH 1/3] posix: Move POSIX_API_Control::thread
This member is only used by the sporadic server support. Update #2514. --- cpukit/posix/include/rtems/posix/threadsup.h | 6 +++--- cpukit/posix/src/pthread.c | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h index cc250f7464..816ef566d8 100644 --- a/cpukit/posix/include/rtems/posix/threadsup.h +++ b/cpukit/posix/include/rtems/posix/threadsup.h @@ -40,9 +40,6 @@ extern "C" { * each thread in a system with POSIX configured. */ typedef struct { - /** Back pointer to thread of this POSIX API control. */ - Thread_Control *thread; - /** Created with explicit or inherited scheduler. */ bool created_with_explicit_scheduler; @@ -56,6 +53,9 @@ typedef struct { * @brief Control block for the sporadic server scheduling policy. */ struct { +/** The thread of this sporadic control block */ +Thread_Control *thread; + /** * @brief This is the timer which controls when the thread executes at high * and low priority when using the sporadic server scheduling policy. diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 9d1c1ad012..291b19532d 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -49,7 +49,7 @@ void _POSIX_Threads_Sporadic_timer( Watchdog_Control *watchdog ) Thread_queue_Context queue_context; api = RTEMS_CONTAINER_OF( watchdog, POSIX_API_Control, Sporadic.Timer ); - the_thread = api->thread; + the_thread = api->Sporadic.thread; _Thread_queue_Context_initialize( &queue_context ); _Thread_queue_Context_clear_priority_updates( &queue_context ); @@ -127,7 +127,6 @@ static bool _POSIX_Threads_Create_extension( api = created->API_Extensions[ THREAD_API_POSIX ]; /* XXX check all fields are touched */ - api->thread = created; api->schedparam.sched_priority = _POSIX_Priority_From_core( _Thread_Scheduler_get_home( created ), _Thread_Get_priority( created ) @@ -149,6 +148,7 @@ static bool _POSIX_Threads_Create_extension( api->signals_unblocked = executing_api->signals_unblocked; } + api->Sporadic.thread = created; _Watchdog_Preinitialize( &api->Sporadic.Timer, _Per_CPU_Get_by_index( 0 ) ); _Watchdog_Initialize( &api->Sporadic.Timer, _POSIX_Threads_Sporadic_timer ); _Priority_Node_set_inactive( &api->Sporadic.Low_priority ); -- 2.12.3 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
[PATCH] Upgrade to 5.0.0
Tool name will be "rtems5", e.g. arm-rtems5-gcc. Next release will 5.1.0. Branch version after release will be 5.1.1. Next master will be 6.0.0. --- aclocal/version.m4| 4 ++-- c/src/aclocal/version.m4 | 4 ++-- cpukit/aclocal/version.m4 | 4 ++-- testsuites/aclocal/version.m4 | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/aclocal/version.m4 b/aclocal/version.m4 index 6ced838f72..5cbf0335e7 100644 --- a/aclocal/version.m4 +++ b/aclocal/version.m4 @@ -1,4 +1,4 @@ AC_DEFUN([RTEMS_VERSIONING], -m4_define([_RTEMS_VERSION],[4.11.99.0])) +m4_define([_RTEMS_VERSION],[5.0.0])) -m4_define([_RTEMS_API],[4.12]) +m4_define([_RTEMS_API],[5.0]) diff --git a/c/src/aclocal/version.m4 b/c/src/aclocal/version.m4 index 6ced838f72..5cbf0335e7 100644 --- a/c/src/aclocal/version.m4 +++ b/c/src/aclocal/version.m4 @@ -1,4 +1,4 @@ AC_DEFUN([RTEMS_VERSIONING], -m4_define([_RTEMS_VERSION],[4.11.99.0])) +m4_define([_RTEMS_VERSION],[5.0.0])) -m4_define([_RTEMS_API],[4.12]) +m4_define([_RTEMS_API],[5.0]) diff --git a/cpukit/aclocal/version.m4 b/cpukit/aclocal/version.m4 index 6ced838f72..5cbf0335e7 100644 --- a/cpukit/aclocal/version.m4 +++ b/cpukit/aclocal/version.m4 @@ -1,4 +1,4 @@ AC_DEFUN([RTEMS_VERSIONING], -m4_define([_RTEMS_VERSION],[4.11.99.0])) +m4_define([_RTEMS_VERSION],[5.0.0])) -m4_define([_RTEMS_API],[4.12]) +m4_define([_RTEMS_API],[5.0]) diff --git a/testsuites/aclocal/version.m4 b/testsuites/aclocal/version.m4 index 6ced838f72..5cbf0335e7 100644 --- a/testsuites/aclocal/version.m4 +++ b/testsuites/aclocal/version.m4 @@ -1,4 +1,4 @@ AC_DEFUN([RTEMS_VERSIONING], -m4_define([_RTEMS_VERSION],[4.11.99.0])) +m4_define([_RTEMS_VERSION],[5.0.0])) -m4_define([_RTEMS_API],[4.12]) +m4_define([_RTEMS_API],[5.0]) -- 2.12.3 ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] Upgrade to 5.0.0
On 17/10/17 4:44 am, Sebastian Huber wrote: > Tool name will be "rtems5", e.g. arm-rtems5-gcc. Why not rtems5.0 and then rtems5.1? Do we have the tool naming written up any where? > Next release will 5.1.0. Branch version after release will be 5.1.1. > Next master will be 6.0.0. I have added a section to the wiki )https://devel.rtems.org/wiki/Developer/Release#ReleaseNumbering) and added these files. Can we please make sure we add anything we touch to this section so we can create an accurate procedure? How is this change coordinated so we keep the window the tools, kernel, and libraries are not working as small as possible? Chris ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel
Re: [PATCH] Upgrade to 5.0.0
On 17/10/17 21:34, Chris Johns wrote: On 17/10/17 4:44 am, Sebastian Huber wrote: Tool name will be "rtems5", e.g. arm-rtems5-gcc. Why not rtems5.0 and then rtems5.1? We don't have different tool versions for bugfix releases, e.g there are no 4.11.0, 4.11.1, 4.11.2, ... tools. It is just 4.11. With the new number scheme, this is just 5. Do we have the tool naming written up any where? No, not yet. Next release will 5.1.0. Branch version after release will be 5.1.1. Next master will be 6.0.0. I have added a section to the wiki )https://devel.rtems.org/wiki/Developer/Release#ReleaseNumbering) and added these files. Can we please make sure we add anything we touch to this section so we can create an accurate procedure? Could we please move this content from the wiki into a Git repository? Do we really need a separate repository for this release stuff? Could we move this into the RTEMS repository as a replacement for the Makefile.maint? How is this change coordinated so we keep the window the tools, kernel, and libraries are not working as small as possible? I don't know. I guess we have to figure this out and update the documentation/scripts accordingly. -- Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 E-Mail : sebastian.hu...@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. ___ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel