* score/src/rbtreeextract.c:
Make _RBTree_Extract_validate_unprotected static.
* score/src/rbtreeinsert.c:
Make _RBTree_Validate_insert_unprotected static.
PR 1941/cpukit
* libmisc/monitor/mon-server.c, score/include/rtems/system.h: Remove
use of RTEMS_offset() in favor of standard offsetof(). This was
undocumented and there was only one internal use. Change noted in
4.11 release notes.
PR 1924/cpukit
* sapi/include/rtems/config.h: New fields stack_space_size,
unified_work_area, and stack_allocator_avoids_work_space in
rtems_configuration_table.
* sapi/include/confdefs.h: Removed rtems_unified_work_area (this is
now part of the Configuration). Separate work space and stack space
estimate. Added CONFIGURE_TASK_STACK_ALLOCATOR_AVOIDS_WORK_SPACE
configuration option.
* libmisc/shell/main_wkspaceinfo.c, score/src/wkspace.c,
libcsupport/src/malloc_initialize.c: Update due to API changes.
* nios2-mpu-configuration.c, nios2-mpu-descriptor.c,
nios2-mpu-disable-protected.c, nios2-mpu-reset.c: New files.
* Makefile.am: Reflect changes above.
* rtems/score/nios2-utility.h, nios2-context-initialize.c: Added
support for the memory protection unit (MPU).
PR 1935/cpukit
* score/include/rtems/score/smplock.h, score/src/smplock.c: SMP nested
count variable was being overritten when nested lock was taken more
than once.
PR 1932/cpukit
* cpu_asm.S: At some point the interrupt trap handler causes a
window-overflow and the window overflow trap handler crashes when
writing to 0. I found that this is because the WIM was bad, to the
window overflow handler uses a uninitialized stack pointer in a
window never used.
* g3=CWP, not WIM
* CWP is incremented by done_flushing no need doing that here also
* I see no reason to create an additional stack frame (save)
* Must turn off traps when updating WIM (maybe already done by caller?)
* score/include/rtems/score/tod.h: Declare _TOD_Set_with_timestamp()
and _TOD_Get_as_timestamp().
* score/src/coretodset.c: Define _TOD_Set_with_timestamp().
* score/src/coretodget.c: Define _TOD_Get_as_timestamp().
* rtems/src/clockset.c: Use _TOD_Set_with_timestamp().
* score/include/rtems/score/timestamp64.h, score/src/ts64set.c:
Changed parameter types of _Timestamp64_Set().
* rtems/src/clocktodtoseconds.c: Year 2100 is not a leap year.
PR 1921/cpukit
* score/inline/rtems/score/thread.inl,
score/src/threadstartmultitasking.c: Allow CPU port to provide
optional multitasking start and stop.
* nios2-eic-il-low-level.S, nios2-eic-rsie-low-level.S: New files.
* Makefile.am: Reflect changes above.
* rtems/score/cpu.h, rtems/score/nios2-utility.h,
nios2-thread-dispatch-disabled.c, nios2-context-switch.S: Added
support for thread stack protection via the MPU.
PR 1906/cpukit
* sapi/Makefile.am, sapi/preinstall.am, sapi/include/confdefs.h,
score/Makefile.am, score/preinstall.am: Add the CBS (Constant
Bandwidth Server) scheduler. This is a complex scheduling policy
built atop of the EDF scheduler. Unlike other schedulers, this one
provides a user API and handles not only deadlines of tasks but also
claimed budget per period. The main aim of the scheduler is isolation
of tasks so that each task is guaranteed to meet all deadlines
regardless of how other tasks behave.
* sapi/include/rtems/cbs.h, sapi/inline/rtems/cbs.inl,
score/include/rtems/score/schedulercbs.h, score/src/schedulercbs.c,
score/src/schedulercbsattachthread.c,
score/src/schedulercbscleanup.c,
score/src/schedulercbscreateserver.c,
score/src/schedulercbsdestroyserver.c,
score/src/schedulercbsdetachthread.c,
score/src/schedulercbsgetapprovedbudget.c,
score/src/schedulercbsgetexecutiontime.c,
score/src/schedulercbsgetparameters.c,
score/src/schedulercbsgetremainingbudget.c,
score/src/schedulercbsgetserverid.c,
score/src/schedulercbsreleasejob.c,
score/src/schedulercbssetparameters.c,
score/src/schedulercbsunblock.c: New files.