cpukit: deprecate notepads

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
This commit is contained in:
Gedare Bloom
2015-03-06 12:41:49 -05:00
parent b05549fc72
commit 3ac681191e
13 changed files with 77 additions and 16 deletions

View File

@@ -594,6 +594,40 @@ the assumption that all tasks have floating point enabled. This would
require the addition of a new configuration parameter to specify the
number of tasks which enable floating point support.
@c
@c === CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS ===
@c
@subsection Enable Classic API Notepads
@findex CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS
@table @b
@item CONSTANT:
@code{CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS}
@item DATA TYPE:
Boolean feature macro.
@item RANGE:
Defined or undefined.
@item DEFAULT VALUE:
This is not defined by default, and Classic API Notepads are not supported.
@end table
@subheading DESCRIPTION:
@code{CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS} should be defined if the
user wants to have support for Classic API Notepads in their application.
@subheading NOTES:
Disabling Classic API Notepads saves the allocation of sixteen (16)
thirty-two bit integers. This saves sixty-four bytes per task/thread
plus the allocation overhead. Notepads are rarely used in applications
and this can save significant memory in a low RAM system. Classic API
Notepads are deprecated, and this option is expected to be obsolete in
the near future.
@c
@c === CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS ===
@c
@@ -612,20 +646,22 @@ Boolean feature macro.
Defined or undefined.
@item DEFAULT VALUE:
This is not defined by default, and Classic API Notepads are supported.
This is not defined by default, and Classic API Notepads are not supported.
@end table
@subheading DESCRIPTION:
@code{CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS} should be defined if the
user does not want to have support for Classic API Notepads in their
application.
@code{CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS} is deprecated. If users
want to have support for Classic API Notepads, they should use
@code{CONFIGURE_ENABLE_CLASSIC_API_NOTEPADS}.
@subheading NOTES:
Disabling Classic API Notepads saves the allocation of sixteen (16)
thirty-two bit integers. This saves sixty-four bytes per task/thread
plus the allocation overhead. Notepads are rarely used in applications
and this can save significant memory in a low RAM system.
and this can save significant memory in a low RAM system. Classic API
Notepads are deprecated, and this option is expected to be obsolete in
the near future.
@c
@c === CONFIGURE_MAXIMUM_TIMERS ===

View File

@@ -645,6 +645,7 @@ to set a task's notepad entry to a specified note. The
@code{@value{DIRPREFIX}task_get_note}
directive allows the user to obtain the note
contained in any one of the sixteen notepads of a specified task.
Notepads are deprecated and will be removed.
@subsection Task Deletion
@@ -1515,6 +1516,8 @@ This directive returns the note contained in the notepad
location of the task specified by id.
@subheading NOTES:
This directive is deprecated and will be removed.
This directive will not cause the running task to be preempted.
If id is set to @code{@value{RPREFIX}SELF},
@@ -1567,6 +1570,8 @@ procedure Task_Set_Note (
@code{@value{RPREFIX}INVALID_NUMBER} - invalid notepad location
@subheading DESCRIPTION:
This directive is deprecated and will be removed.
This directive sets the notepad entry for the task specified by
id to the value note.

View File

@@ -137,7 +137,8 @@ be used to store additional data required by the user's
extension functions. It is also possible for a user extension
to utilize the notepad locations associated with each task
although this may conflict with application usage of those
particular notepads.
particular notepads. However, notepads are deprecated and will
be removed.
The TCB extension is an array of pointers in the TCB. The
index into the table can be obtained from the extension id