Notepads where a feature of RTEMS' tasks that simply functioned in
the same way as POSIX keys or threaded local storage (TLS). They were
introduced well before per task variables, which are also deprecated,
and were barely used in favor of their POSIX alternatives.
In addition to their scarce usage, Notepads took up unnecessary memory.
For each task:
- 16 32-bit integers were allocated.
- A total of 64 bytes per task per thread.
This is especially critical in low memory and safety-critical applications.
They are also defined as uint32_t, and therefore are not guaranteed to
hold a pointer.
Lastly, they are not portable solutions for SMP and uniprocessor systems,
like POSIX keys and TLS.
updates #2493.
Deprecate Classic API Notepads. Mark task_set/get_note() with
the deprecated attribute, and also mark the notepads field.
Replace disable with enable option for notepads in confdefs.h,
and make notepads disabled by default. The previous option
CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS is now unused and
will emit a compile-time warning. A new option
CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS is available to turn
on notepads, but it also will emit a compile-time warning
to indicate that notepads are deprecated.
Closes#2265
Per task variables are inherently unsafe in SMP systems. This
patch disables them from the build and adds warnings in the
appropriate documentation and configuration sections.
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
* user/bsp.t, user/conf.t, user/task.t: Add ability for application to
configure minimum stack size. Add RTEMS_CONFIGURED_MINIMUM_STACK_SIZE
constant so user can clearly indicate they want the configured as
opposed to the recommended minimum stack size.
* user/barrier.t, user/clock.t, user/concepts.t, user/cpuuse.t,
user/init.t, user/intr.t, user/io.t, user/mp.t, user/rtmon.t,
user/sem.t, user/stackchk.t, user/task.t, user/timer.t: Updated the
Ada documentation to reflect the current binding.
* new_chapters/Makefile.am, user/Makefile.am, user/c_user.texi,
user/dirstat.texi, user/task.t: Move stack to first class citizen
status. Include it in User Manual and rename to start with rtems_.
* user/stackchk.t: New file.
* new_chapters/stackchk.t: Removed.
* SUPPORT, LICENSE: New files.
* Numerous files touched as part of merging the 4.5 branch
onto the mainline development trunk and ensuring that the
script that cuts snapshots and releases works on the documentation.