| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
|
| |
One reason to move the test support into a dedicated library are the
standard output __wrap_*() functions. They may conflict with
application level wrappers.
Update #3199.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add support for architecure sections that can be handled by the
architecture back end.
- Add trampoline/fixup support for PowerPC. This means the PowerPC
now supports large memory loading of applications.
- Add a bit allocator to manage small block based regions of memory.
- Add small data (sdata/sbss) support for the PowerPC. The support
makes the linker allocated small data region of memory a global
resource available to libdl loaded object files.
Updates #3687
Updates #3685
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Load archive symbol tables to support searching of archives
for symbols.
- Search archive symbols and load the object file that contains
the symbol.
- Search the global and archives until all remaining unresolved symbols
are not found. Group the loaded object files in the pending queue.
- Run the object file and loaded dependents as a group before adding to the
main object list.
- Remove orphaned object files after references are removed.
Updates #3686
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add low level event recording infrastructure for system and user
defined events. The infrastructure is able to record high frequency
events such as
* SMP lock acquire/release,
* interrupt entry/exit,
* thread switches,
* UMA zone allocate/free, and
* Ethernet packet input/output, etc.
It allows post-mortem analysis in fatal error handlers, e.g. the last
events are in the record buffer, the newest event overwrites the oldest
event. It is possible to detect record buffer overflows for consumers
that expect a continuous stream of events, e.g. to display the system
state in real-time.
The implementation supports high-end SMP machines (more than 1GHz
processor frequency, more than four processors).
Add a new API instead. The implementation uses per-processor data
structures and no atomic read-modify-write operations. It is uses
per-processor ring buffers to record the events.
The CPU counter is used to get the time of events. It is combined with
periodic uptime events to synchronize it with CLOCK_REALTIME.
The existing capture engine tries to solve this problem also, but its
performance is not good enough for high-end production systems. The
main issues are the variable-size buffers and the use of SMP locks for
synchronization. To fix this, the API would change significantly.
Update #3665.
|
|
|
|
|
|
| |
Ensure that the C++17 aligned new operator works.
Close #3666.
|
|
|
|
|
|
|
|
|
|
|
| |
Statically allocate the objects information together with the initial
set of objects either via <rtems/confdefs.h>. Provide default object
informations with zero objects via librtemscpu.a. This greatly
simplifies the workspace size estimate. RTEMS applications which do not
use the unlimited objects option are easier to debug since all objects
reside now in statically allocated objects of the right types.
Close #3621.
|
|
|
|
|
|
|
| |
Use functions instead of macros. Add missing
rtems_configuration_get_maximum_*() functions.
Update #3621.
|
|
|
|
| |
Update #3636.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3585.
|
|
|
|
| |
Update #3585.
|
|
|
|
| |
Update #3598.
|
|
|
|
|
|
| |
Use a real function for rtems_clock_get_uptime_seconds().
Update #3598.
|
|
|
|
| |
Update #3599.
|
|
|
|
|
|
|
|
| |
This function was only used on some m68k variants. On these m68k
variants there is no need to use a global symbol. Use a local label
instead.
Remove _ISR_Dispatch() from the architecture-independent layer.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the __getreent() variant using the global reentrancy structure to
librtemscpu.a. This avoids a definition of __getreent() in the
configuration module if CONFIGURE_DISABLE_NEWLIB_REENTRANCY is defined.
This avoids all the dependencies which would be exposed by a reference
to the global reentrancy structure.
This change is only possible since the default configuration moved to
librtemsdefaultconfig.a recently.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
|
|
| |
Use separate configuration variables to avoid false dependencies.
Update #2514.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An RTEMS application default configuration is contained in
cpukit/libmisc/dummy/default-configuration.c. This default
configuration was contained in librtemscpu.a. This had at least two
problems:
1. Application configuration errors may have pulled in the default
configuration which in turn lead to multiply define symbols error.
This was quite confusing. You had to consult the linker map file to
figure out what cased the pull in of the default configuration. You
needed to know what a linker map file is and how you generate it with
your build system. This was not very user friendly.
2. It prevented the use of default configuration items for each subsystem
in librtemscpu.a. This may be used to reduce the size of the
configuration itself.
Move the default configuration to the separate library
librtemsdefaultconfig.a.
Close #3551.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
| |
Update #2514.
|
|
|
|
|
|
| |
Sort POSIX sources lexicographically in Makefile.am
Update #2514.
|
|
|
|
|
|
|
| |
The results of these checks are unused, covered by other checks or check
obvious things.
Update #3409.
|
|
|
|
|
|
| |
This function is provided by Newlib since 2000.
Update #3409.
|
|
|
|
|
|
| |
This function is provided by Newlib since 2000.
Update #3409.
|
|
|
|
|
|
| |
These functions are provided by Newlib since 2000.
Update #3409.
|
|
|
|
|
|
| |
These functions are provided by Newlib since 2002.
Update #3409.
|
|
|
|
|
| |
Avoid a long argument list while creating the librtemscpu.a library
archive.
|
|
|
|
|
| |
Include all cpukit/*/header.am files in cpukit/Makefile.am. This gets
rid of all subtree Makefile.am and the sudirs hack.
|
| |
|
|
|
|
| |
Remove use of TMPINSTALL_FILES.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|