| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This ensures that the saved SP register is sized appropriately depending
on the chosen ABI and prevents a warning in the libmisc stack checker.
|
|
|
|
| |
Update #4171.
|
|
|
|
| |
Update #4171.
|
|
|
|
| |
Update #4171.
|
|
|
|
|
|
| |
Clarify Doxygen comments. Fix formatting.
Update #4171.
|
|
|
|
|
|
|
| |
Add a workaround for Cortex-A9 Errata 845369: Under Very Rare Timing
Circumstances Transition into Streaming Mode Might Create Data Corruption.
Update #4115.
|
|
|
|
| |
Simply compare the values against NULL.
|
|
|
|
|
|
|
|
|
|
|
| |
Provide RTEMS_NO_RETURN also in case RTEMS_DEBUG is defined to prevent errors
like this:
error: no return statement in function returning non-void [-Werror=return-type]
Use C11 and C++11 standard means to declare a no-return function.
Close #4122.
|
|
|
|
|
| |
This adds a CPU port for AArch64(ARMv8) with support for exceptions and
interrupts.
|
|
|
|
|
|
|
| |
Before this patch RTEMS_Malloc_Initialize() had a fixed dependency on
_Workspace_Area. Introduce _Workspace_Malloc_initializer to have this
dependency only if CONFIGURE_UNIFIED_WORK_AREAS is defined by the
application configuration.
|
|
|
|
|
|
|
|
|
|
|
| |
In contrast to message queues created by rtems_message_queue_create(), the
message queues constructed by this directive use a user-provided message buffer
storage area.
Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message
buffer storage areas.
Update #4007.
|
|
|
|
|
|
|
|
|
|
| |
Merge CORE_message_queue_Buffer structure into
CORE_message_queue_Buffer_control.
Use a zero-length array for the actual message buffer. This reduces the
structure size on all targets.
Update #4007.
|
|
|
|
|
|
| |
Return a status code and differentiate between error conditions.
Update #4007.
|
|
|
|
|
|
|
| |
Initialize the structure in a single code block after the error checks and
calculations.
Update #4007.
|
|
|
|
|
|
|
|
|
|
| |
The previous multiplication error check is broken on 64-bit machines. Use the
recommended check from SEI CERT C Coding Standard, "INT30-C. Ensure that
unsigned integer operations do not wrap".
Make sure the message size computation does not overflow.
Update #4007.
|
|
|
|
| |
Update #4007.
|
|
|
|
| |
Debug output can be added to user-defined fatal error handlers.
|
|
|
|
| |
Including <stdio.h> in <rtems/score/cpu.h> breaks libbsd.
|
|
|
|
|
|
|
|
|
|
|
| |
Add this application configuration option. This configuration option can be
used to reserve space for the dynamic linking of modules with thread-local
storage objects.
Add RTEMS_TASK_STORAGE_ALIGNMENT to define the minium alignment of a
thread-local storage size.
Update #4074.
|
|
|
|
|
|
|
|
| |
In a multi-processor system we must broadcast the TLB maintenance operation to
the Inner Shareable domain to ensure that the other processors update their TLB
caches accordingly.
Close #4068.
|
|
|
|
| |
Closes #4076.
|
|
|
|
|
|
| |
Fix an error cleanup path in SMP configurations to avoid a NULL pointer access.
Update #3959.
|
|
|
|
|
|
|
| |
This avoids a dependency to the stack free function in the thread
destruction.
Update #3959.
|
|
|
|
|
|
| |
This decouples the task stack allocation from the deallocation.
Update #3959.
|
|
|
|
|
|
|
|
| |
Do the stack allocator initialization and sanity check only if a
user-provided stack allocator was configured. This avoids a dependency
of _Thread_Handler_initialization() on the stack allocator.
Update #3959.
|
|
|
|
|
|
| |
The nodes are never NULL.
Update #3959.
|
|
|
|
|
|
| |
Hide implementation details.
Update #3959.
|
|
|
|
| |
Update #3959.
|
|
|
|
|
| |
Do not access executing->current_state outside the protection of the
thread state lock. Add missing state with a comment.
|
|
|
|
|
|
|
| |
Remove the superfluous invalid name check since the object creation
directives ensure that objects with such a name cannot exist. Also
finding an object with such a name would be no catastrophy if it really
exists.
|
|
|
|
|
|
|
|
|
|
| |
Simplify object name to identifier directives. Using
_RTEMS_Name_to_id() to implement the directives enables a tail call
optimization.
Change license to BSD-2-Clause according to file history.
Update #3053.
|
| |
|
| |
|
|
|
|
| |
Prefer macros with a proper namespace.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that the esp is restored before the eflags register.
When the init task is initially restored, system interrupts are activated when the
eflags register is loaded.
If the esp register still points to an address in the interrupt stack
area (from early system initlization) the ISR might overwrite its own
stack.
Closes #4031
|
|
|
|
|
|
|
| |
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 #3943.
|
|
|
|
| |
Update #4018.
|
|
|
|
|
|
|
|
| |
This introduces the CPU_USE_LIBC_INIT_FINI_ARRAY define for use by CPU
ports to determine which global constructor and destructor methods are
used instead of placing architecture defines where they shouldn't be.
Close #4018
|
|
|
|
|
|
| |
- Defines CPU_Interrupt_frame in cpu_impl.h
- Updates isq_asm.S to save/restore registers in matching order to
interrupt frame
|
|
|
|
| |
Uses similar flow in cpu_asm.S for i386 as for arm.
|
|
|
|
|
|
|
|
|
|
| |
Create a GS segment in the GDT for each processor for storing TLS.
This makes the GDT in startAP.S obsolete as all processors now share the
same GDT, which is passed to each AP at startup.
The correct segment for each processor is calculated in cpu_asm.S.
Update #3335
|
|
|
|
|
|
| |
Store the stack pointer of the exception context to the exception frame.
Close #3987.
|
|
|
|
| |
This order change fixes the Latex documentation build via Doxygen.
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
| |
Close #3949.
|
|
|
|
| |
Update #3949.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Statically initialize the ARMv7-M vector table to allow a placement in
ROM with read-only MPU settings.
Change licence to BSD-2-Clause in some files.
|