| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Update #3199.
|
|
|
|
|
|
|
| |
Due to an unmaintained toolchain (internal errors in GCC, no FSF GDB
integration) the Epiphany architecture was obsoleted in RTEMS 5.1.
Update #3941.
|
|
|
|
| |
Update #3973.
|
|
|
|
|
| |
This reverts commit 8e80876bdd54e36fb668eee655eec1dd588daf13
which broke several architectures.
|
|
|
|
|
|
|
|
|
|
| |
The _ISR_Stack_area_begin and _ISR_Stack_area_end symbols are in
different sections. They must have the same alignment, otherwise the
following linker directive could separate them:
*(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*)))
Update #3799.
|
|
|
|
|
|
|
|
|
| |
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib().
Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and
CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options.
Update #3904.
|
|
|
|
| |
Update #3904.
|
|
|
|
| |
Update #3904.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.
The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:
#define CONFIGURE_IMFS_DISABLE_MKNOD
#define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES.
Update #3894.
Update #3898.
|
|
|
|
| |
Update #3894.
|
|
|
|
|
|
|
|
|
|
|
|
| |
In uniprocessor configurations, use compile-time constants for
rtems_scheduler_get_processor_maximum() and
rtems_scheduler_get_processor(). This helps compilers and static
analyzers to deduce that some loop bodies are only executed once and
some conditional statements have a fixed outcome (may improve code
generation and reduce false positives).
In SMP configurations, directly provide the internal implementation for
performance reasons.
|
|
|
|
| |
Update #3881.
|
|
|
|
| |
Update #3881.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Remove all comments and copyrightable content from the moved content.
Use BSD-2-Clause license for new file.
Move the default configuration to library files so that application
configurations do not include the definitions for the default case.
Update #3053.
Update #3875.
|
|
|
|
|
|
|
|
|
| |
Move the unified workspace configuration constant out of the
configuration table.
Provide a default definition of the unified workspace constant.
Update #3875.
|
|
|
|
|
|
|
|
|
| |
Move the idle thread body configuration constant out of the
configuration table.
Provide a default definition of the idle thread body constant.
Update #3875.
|
|
|
|
|
|
|
|
|
|
| |
Move the ticks per timeslice configuration constant out of the
configuration table.
Add WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT and use it to provide a default
definition of the watchdog ticks per timeslice constant.
Update #3875.
|
|
|
|
|
|
|
|
|
|
| |
With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration
option at most one Classic API user initialization task can be
configured.
Provide an RTEMS API configuration table for backward compatibility.
Update #3873.
|
|
|
|
|
|
|
|
| |
Allocate new thread queue heads during objects information extend. This
removes an error case and the last dependency on the workspace in
_Thread_Initialize().
Update #3835.
|
|
|
|
|
|
|
|
| |
Split up the different objects free methods into separate functions.
This helps to avoid a dependency on the workspace in case no objects or
a static set of objects is configured.
Update #3835.
|
|
|
|
|
|
|
|
|
|
|
| |
Split up the different objects allocation methods into separate
functions. This helps to avoid a dependency on the workspace in case no
objects or a static set of objects is configured.
Change license to BSD-2-Clause according to file histories.
Update #3053.
Update #3835.
|
|
|
|
|
|
| |
This allows the linker garbage collection to perform its work.
Update #3835.
|
|
|
|
|
|
| |
Use the stack area to allocate the TLS area.
Update #3835.
|
|
|
|
|
|
|
| |
Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY
configuration option.
Update #3843.
|
|
|
|
|
|
|
|
| |
Use a dedicate system initialization step to zero the memory used for
the workspace and C program heap.
This avoids dead code in case CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY is
not configured.
|
|
|
|
| |
Update #3861.
|
|
|
|
| |
Update #3838.
|
|
|
|
| |
Update #3838.
|
| |
|
|
|
|
|
|
|
| |
Replace the user MPCI configuration table with a system provided
_MPCI_Configuration.
Update #3735.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two use cases were envisioned for this.
1) a BSP or application which desires to update a real-time clock
when the RTEMS TOD is set.
2) a paravirtualized BSP can use this to propagate setting the time
in an RTEMS application to the hosting environment. This enables
the entire set of applications in the virtualized environments
to have a single consistent TOD.
|
|
|
|
| |
Update #3818.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the ability for termios to send SIGINTR on receipt
of VINTR and SIGQUIT for VKILL and return -1/EINTR from read() on
a termios channel. Importantly, this patch does not alter the default
behavior or force POSIX signal code in just because termios is used.
The application must explicitly enable the POSIX behavior of generating
a signal upon receipt of these characters. This is discussed in the
POSIX standard:
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html
Closes #3800.
|
|
|
|
|
|
| |
It was accidentally committed.
This reverts commit a314544a278f1533ae001f742d7fe24fcee253e6.
|
|
|
|
|
|
|
|
|
|
| |
Introduce new library librtemsrecordwrap.a which contains wrappers for
operating system functions which produce entry/exit events.
The wrappers can be selected during link time via the GNU ld --wrap
option.
Update #3665.
|
|
|
|
|
|
|
|
|
|
| |
Reduce the system dependencies to allow tracing of very low level
functions, for example the interrupt disable/enable.
Introduce general purpose RTEMS_RECORD_CALLER and RTEMS_RECORD_LINE
events.
Update #3665.
|
|
|
|
|
|
|
|
|
| |
- Fix destorying the target and thread parts.
- Fix the ARM backend to support Cortex-A8 and ARM mode code.
- Use the DBGDSCR interrupt mask when single stepping.
- Use the DBGDSCR method of entry to debug mode to filter the
execptions.
- Add support for BSPs to control the ARM backend.
|
| |
|
|
|
|
| |
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.
|