Use the maximum ID for the ID to object translation. Using the maximum
ID gets rid of an additional load from the object information in
_Objects_Get(). In addition, object lookups fail for every ID in case
the object information is cleared to zero. This makes it a bit more
robust during system startup (see new tests in spconfig02).
The local table no longer needs a NULL pointer entry at array index
zero. Adjust all the object iteration loops accordingly.
Remove Objects_Information::minimum_id since it contains only redundant
information. Add _Objects_Get_minimum_id() to get the minimum ID.
Update #3621.
Rename Objects_Information::allocation_size in
Objects_Information::objects_per_block. Adjust integer types in
_Objects_Shrink_information() and _Objects_Free().
Update #3621.
Rename Objects_Information::size to Objects_Information::object_size.
Change its type from size_t to uint16_t and move it to reduce the size
of Objects_Information.
Update #3621.
In order to simplify the use of CPU counter values it is beneficial to
have monotonic increasing values within the range of the CPU counter
ticks data type, e.g. 32-bit unsigned integer. This eases the use of
CPU counter timestamps in external tools which do not know the details
of the CPU counter hardware. The CPU counter is the fastest way to get
a time on an RTEMS system.
Such a CPU counter may be also used as the timecounter. Use it on SPARC
for this purpose to simplify the clock drivers.
Update #3456.
The sbintime_t is a non-POSIX type and not visible if strict standard
options are selected.
Move implementation details from <rtems/score/timestamp.h> to
<rtems/score/timestampimpl.h>.
Update #3598.
It is not enough to just wait for at least the first clock tick to get
non-zero times. In _times() we round down, so the uptime must be
greater than or equal to the clock tick interval. We do not know when
the timecounter is started during the system initialization. We have to
wait until at least two ticks happened.
Two quotation marks were missing so the CSV looked bad when using
an editor with syntax highlighting and could also have produced some
errors if the file was processed. Also two "Yes" ys were lowercase and
I uppercased them so they are like the rest.
Includes API tests for y0l, y1l, and ynl which are in glibc but
not in POSIX or newlib. They are disabled until further investigation
as to compatibility requirements are determined per the referenced
ticket.
Updates #3638.
Avoid assert() in console_inbyte_nonblocking().
Do not poll forever in bsp_in_char(). This allows the caller to decide
what to do if no character is available.
This entangles some dependencies and fixes a spconfig02 test failure.