| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Mention the type of the pointer in the parameter description. Use the
more general term "object" instead of "variable".
Update #3993.
|
|
|
|
|
|
|
|
|
| |
Make the initialization of the per-CPU data optional.
Change license to BSD-2-Clause according to file history and
re-licensing agreement.
Update #3053.
|
|
|
|
|
| |
Make sure that the linker sets work if placed in a library (this is how
they are used in RTEMS).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Directly initialize the memory in the start sequence defined by start.S
instead of using a system initialization handler. This avoids using the
global variable rdb_start which used a memory location which was shared
with _ERC32_MEC_Timer_Control_Mirror. This change makes it possible to
use _Memory_Allocate() even before the system initialization is started.
Change license to BSD-2-Clause according to file history and
re-licensing agreement.
Update #3053.
|
|
|
|
|
|
| |
Initialize the stacks for all processors in one place. Do not rely on
Per_CPU_Control::interrupt_stack_high and directly use the statically
allocated interrupt stack area.
|
|
|
|
|
| |
Initialize the stacks in start.S in one place and identical to
_CPU_Context_Initialize().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the support to load the data section and rely on the boot loader. The
code is an artifact from the old erc32 days, when we would boot and execute
from ROM and the .data had to be copied over to RAM. With leon1/2/3, this is
not used anymore as a boot loader is made from the RAM image using a custom
tool (mkprom).
In SMP configurations, this support was also broken since LEON3_Boot_Cpu
(in the data section due to the -1 initialization value) was used quite
early in the start sequence.
If the data copy is really necessary, then an application can still add this
step as a very early system initialization step, since boot_card() and the
system initialization loop does not use initialized read-write data (only
read-only and BSS data). However, the SMP startup would still not work in this
case. A boot loader is a better place to load the sections.
|
| |
|
|
|
|
|
|
|
| |
Set Thread_queue_Context::timeout_absolute in
_Thread_queue_Context_set_timeout_argument() to avoid using it uninitialized.
The bug was introduced by a89ecaa1a94d49ddae7753d6b83923e9d2a00486.
|
|
|
|
|
|
|
| |
GCC originally needed this 20 years ago. No longer needed, so it
is being removed.
Closes #4391
|
|
|
|
|
|
| |
A warning was present when building RTEMS that stated that the argument
for malloc() exceeded the maximum object size. To get rid of this, I
changed many places where 'int' was being used to 'size_t'.
|
|
|
|
| |
The a72 BSPs are identical to the a53 BSPs just changing a53 to a72.
|
| |
|
|
|
|
|
|
| |
The addition of the entire *utime*() family of functions resulted
in this call returning ENOENT not ENXIO. This is better aligned
with the POSIX definition of the methods.
|
| |
|
|
|
|
| |
Update #4202.
|
|
|
|
| |
Update #4202.
|
|
|
|
|
|
| |
See also CID 1468684
Closes #4445
|
|
|
|
|
|
| |
See also CID 1399727
Closes #4444
|
|
|
|
|
|
|
| |
Also updated licenses.
Closes #4400
Updates #3899
|
|
|
|
|
|
| |
Improved tests for utime() and utimes() and update license.
Close #4399
|
|
|
|
|
|
|
|
|
| |
utimes() now calls utimensat() to update file access
and modification timestamps.
Updated license.
Closes #4398
|
|
|
|
|
|
|
|
|
| |
utime() now calls utimensat() to update file access
and modification timestamps.
Updated license.
Closes #4397
|
|
|
|
|
|
|
|
|
|
| |
Created futimens.c and utimensat.c to add support for the POSIX
methods futimens() and utimensat().
utime() and utimes() are considered obsolote by POSIX, but RTEMS
will continue to support them.
Closes #4396
|
|
|
|
|
|
| |
CID 1437650: Unchecked return value from library in rtems_shell_help().
Closes #4291
|
|
|
|
|
|
| |
CID 26051: Unchecked return value from library in main_cp().
Closes #4365
|
|
|
|
|
|
|
| |
CID 1049146: Unchecked return value from library in get_clock().
CID 1049147: Unchecked return value from library in get_random_fd().
Closes #4280
|
|
|
|
|
|
| |
This adds a rtems_mutex_try_lock and a rtems_recursive_mutex_try_lock.
Update #4440.
|
|
|
|
|
| |
The release version in the git sources doesn't change. Add a note why
that is the case.
|
| |
|
|
|
|
|
|
|
| |
Add the BSPs for running on the ZU3EG Ultrascale+ Zynq MPSoC and alter
the option defaults necessary for them to run properly using the
standard BOOT.BIN configured for PetaLinux that comes in the Out-of-Box
package.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the AArch64 BSPs have a hard time running on real hardware
without building the toolchain and the bsps with -mstrict-align in
multiple places. Configuring the MMU on these chips allows for unaligned
memory accesses for non-device memory which avoids requiring strict
alignment in the toolchain and in the BSPs themselves.
In writing this driver, it was found that the synchronous exception
handling code needed to be rewritten since it relied on clearing SCTLR_EL1 to
avoid thread stack misalignments in RTEMS_DEBUG mode. This is now
avoided by exactly preserving thread mode stack and flags and the new
implementation is compatible with the draft information provided on the
mailing list covering the Exception Management API.
|
|
|
|
|
|
|
| |
The default available RAM on the A53 BSP is quite small at 8MB. This
bumps that to 128MB to avoid allocation failures in tmcontext01 caused
by large allocations on a cache size of 16MB reported by the system
registers in QEMU.
|
|
|
|
|
| |
Ensure that cache functions are flagged as usable by the generic cache
implementation code.
|
|
|
|
|
|
| |
This fixes a bug where addresses were not being aligned correctly.
Addresses used in cache functions are now aligned consistently using
RTEMS_ALIGN_DOWN.
|
|
|
|
|
| |
Break out system register definitions and accessors so that they're
usable by other parts of RTEMS.
|
|
|
|
| |
Update #4414.
|
|
|
|
|
|
| |
See also CID 1399721
Closes #4442
|
|
|
|
|
|
| |
Ensure the stack remains aligned by keeping the context frame at a
multiple of 16 bytes. This avoids stack alignment exceptions which occur
when the stack pointer is not 16 byte aligned.
|
|
|
|
|
|
|
|
|
|
| |
Commit 73ebf9a27ed5cd0fd3e0dc0da98345d7faa610a2 accidentally removed the
direct thread dispatch in a self thread restart. In case of a self
restart (always in task context) the directive shall not return. If
this is not possible due to a bad thread dispatch disable level, then a
fatal error shall occur.
Update #4412.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _Thread_Cancel() (in contrast to _Thread_Restart() which used a
similar code block) may have produced ready threads with an active timer
in case the thread to cancel had its thread life protection enabled. The
problem was this code block:
Priority_Control priority;
_Thread_Add_life_change_request( the_thread );
if ( _Thread_Is_life_change_allowed( previous ) ) {
_Thread_State_release( the_thread, &lock_context );
_Thread_queue_Extract_with_proxy( the_thread );
_Thread_Timer_remove( the_thread );
} else {
_Thread_Clear_state_locked( the_thread, STATES_SUSPENDED );
_Thread_State_release( the_thread, &lock_context );
}
priority = _Thread_Get_priority( executing );
_Thread_Raise_real_priority( the_thread, priority );
_Thread_Remove_life_change_request( the_thread );
The life change request should only be added/removed if a life change is
allowed (see _Thread_Restart()). Add _Thread_Try_life_change_request()
and use it in _Thread_Cancel() and _Thread_Restart().
Close #4435.
|
|
|
|
| |
Close #4413.
|
|
|
|
|
| |
Move common code into _Thread_Exit(). This enables a tail call
optimization in most cases.
|
|
|
|
|
|
|
| |
If rtems_task_delete() is called from within interrupt context, then
return RTEMS_CALLED_FROM_ISR. This makes the behaviour predictable.
Update #4414.
|
|
|
|
|
|
|
|
|
| |
This change eliminates a system initialization dependentcy which resulted
in an application without a file system or console referencing errno being
forced to include the code to open(/dev/console), close(), atexit(),
and the unmount infrastructure.
Closes #4439.
|
|
|
|
| |
Closes #4r37.
|
|
|
|
| |
Closes #4438.
|
|
|
|
| |
Set the priority manually to make telnetd compatible with the
|
|
|
|
|
| |
telnetd01 test cannot be run without a network stack, so this test is being
moved to the rtems-net-legacy repository.
|
|
|
|
|
|
|
| |
Add Thread_queue_Context::timeout_absolute to specify an absolute or
relative timeout. This avoid having to get the current time twice for
timeouts relative to the current time. It moves also functionality to
common code.
|