Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals. This can be used for
example to enable profiling of critical low-level functions.
Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
Rename rtems_internal_error_description() to
rtems_internal_error_text(). Rename rtems_fatal_source_description() to
rtems_fatal_source_text(). Rename rtems_status_code_description() to
rtems_status_text(). Remove previous implementation of
rtems_status_text().
The _CPU_Context_switch() is a normal function call. The following
registers are volatile (the caller must assume that the register
contents are destroyed by the callee) according to "SYSTEM V APPLICATION
BINARY INTERFACE - SPARC Processor Supplement", Third Edition: g1, o0,
o1, o2, o3, o4, o5. Drop these registers from the context.
Ensure that offset defines match the structure offsets.
Use the Global Timer for the Cortex-A9 MPCore clock driver instead of
the Private Timer. This enables a consistent nanoseconds since last
context switch value across all processors.
Install inter-processor interrupt (IPI) handler before secondary CPUs
are started. This ensures that secondary CPUs fetch the newly installed
handler.
Remove superfluous return statement.
Generate a linker command file from configure letting the user override the
defaults to suite their custom needs. Refer to configure.ac for the details.
Remove the SMP variants and let --enable-smp control if a BSP is built for
SMP.
Make USE_FAST_IDLE 1 only for the realview qemu BSP.
The rtems_filesystem_location_info_t::node_access_2 was unused by the
IMFS. Use it to hold the context of generic nodes. This makes it
possible to use node handlers for objects with and without a
corresponding file system node.
For example network sockets created with socket() have only a file
descriptor, but no corresponding file system node. The UNIX(4) domain
sockets can be bound to file system nodes. In both cases the
rtems_filesystem_location_info_t must provide a pointer to the socket
structure used by the socket node handlers. With the context pointer
(for sockets, this is the socket structure) in
rtems_filesystem_location_info_t::node_access_2 the same node handlers
can be used in both cases.