| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
CPU_STRUCTURE_ALIGNMENT.
|
|
|
|
|
|
|
|
|
|
| |
The CPU_CACHE_LINE_BYTES has been introduced after 4.11 branch
fork and is not available for all architectures on RTEMS 4.11.
Use of rtems_cache_get_maximal_line_size() is more descriptive
choice. The min/max data/instruction cache line size is not critical
there, value is used for optimization only to use single operation
for decently following sections.
|
|
|
|
|
|
|
|
|
| |
Memory content changes caused by relocation has to be
propagated to memory/cache level which is used/snooped
during instruction cache fill.
Closes #2438
Updates #2782
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and maximal alignment.
There is need for unambiguous named and defined cache function
which should be called when code is updated, loaded
or is self-modifying.
There should be function to obtain maximal cache line length
as well. This function can and should be used for allocations
which can be used for data and or code and ensures that
there are no partial cache lines overlaps on start and
end of allocated region.
Updates #2782
|
|
|
|
|
|
|
|
| |
Some/many Cortex-A cores have data cache line length 64 bytes and maximum
value has to be used for system structures alignment.
Updates #2782
Updates #2783
|
|
|
|
|
|
|
|
|
|
|
| |
base access.
The main reason for inclusion of minimum hypervisor related defines
is that current ARM boards firmware and loaders (U-boot for example)
start loaded operating system kernel in HYP mode to allow it take
control of virtualization (Linux/KVM for example).
Updates #2783
|
|
|
|
|
|
|
|
|
| |
Only use CPU_Per_CPU_control if it contains at least one filed. In GNU
C empty structures have a size of zero. In C++ structures have a
non-zero size. In case CPU_PER_CPU_CONTROL_SIZE is defined to zero,
then this structure is not used anymore.
Close #2789.
|
|
|
|
|
|
|
|
|
| |
This patch fixes a number of bugs in the cache when requests are
made to read close to the end of the file and the data is copied
from the top of the cache buffer to the bottom of the buffer. This
was compounded by attempting to read past the end of the file.
Closes #2754.
|
| |
|
|
|
|
| |
Update #2719.
|
|
|
|
|
|
|
| |
A cluster size > 32KiB resulted in an infinite loop in
fat_init_volume_info() due to an integer overflow.
Update #2717.
|
|
|
|
|
|
| |
POSIX mandates that an error code is returned and not -1 plus errno.
Update #2715.
|
|
|
|
|
|
|
| |
POSIX recommends ESRCH in case no thread exists for the specified
identifier.
Update #2713.
|
|
|
|
|
|
|
|
| |
Add path length parameter to
rtems_filesystem_eval_path_start_with_root_and_current() so that users
may pass paths without a '\0' termination.
Update #2558.
|
|
|
|
| |
Close #2502.
|
| |
|
|
|
|
|
|
|
|
|
| |
Under certain conditions a new watchdog was inserted with a wrong
and very large delta interval due to a wrong iterator update.
Bug was introduced by 1ccbd052910ed16131c74b0d5595c8a94066942d.
Close #2507.
|
|
|
|
|
|
|
|
|
| |
Under certain conditions a new watchdog was inserted with a wrong and
very large delta interval due to an incomplete iterator update.
Bug was introduced by 1ccbd052910ed16131c74b0d5595c8a94066942d.
Close #2501.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem exists for both RTEMS untar implementations and their
variants: Untar_FromMemory(), Untar_FromFile() and rtems_tarfs_load().
If filesystem object already exists at extracted directory path
then if it is directory, creation is ignored. Attempt
to delete/unlink object and make directory is tried for other cases.
This simple approach problem reported in ticket fixes #2413.
Behavior follows GNU tar and BSD tar practice for directories
but much more work is required to achieve full semantics
of the full featured tar implementation still.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We must not load registers (e.g. PSR) from the heir context area before
the heir stopped execution.
With this patch the write to PSR is divided into two steps. We first update
the current window pointer and then we restore the status registers and
enable traps. This allows us to move the first write to PSR to be before
the write to WIM, as there is now no risk that we get an interrupt where
the CWP and WIM would be inconsistent. We only need to make sure that we
do not use any of the non-global registers or instructions that affects
CWP for three instructions after the write.
In the earlier code the non-global %o1 register was used right after the
write to PSR, which required the use of three nop:s.
Close #2472.
|
|
|
|
|
|
|
|
| |
We must ensure that the Thread_Control::Wait information update is
visible to the target thread before we update its wait flags, otherwise
we may return out of date events or a wrong status.
Close #2471.
|
|
|
|
| |
Close #2470.
|
| |
|
|
|
|
|
| |
Include stackimpl.h otherwise PTHREAD_MINIMUM_STACK_SIZE cannot be
evaluated.
|
|
|
|
| |
closes #2431.
|
|
|
|
| |
Update #2433.
|
|
|
|
|
|
|
| |
Remove unused descriptor of merged free chunks from the free chain and
add them to the spare descriptors.
Update #2417.
|
|
|
|
|
|
|
|
|
|
| |
Compiling dumpbuf.c causes the following warning to be issued:
warning: pointer targets in passing argument 1 of 'snprintf' differ in signedness [-Wpointer-sign]
This happens because line_buffer is declared as unsigned.
Closes #2411.
|
|
|
|
|
|
|
|
| |
Apparently 'free' is defined as a macro which takes two arguments and calls
rtems_bsdnet_free. When fixing #2405 I added a missing 'free' but didn't notice
it was non-standard.
Closes #2410.
|
|
|
|
|
|
|
| |
I also used the 'n' versions of the string functions, #define'd magic numbers
and added a few comments.
Updates #2405.
|
|
|
|
|
|
| |
dhcp_hostname.
Closes #2405.
|
|
|
|
| |
Updates #2405.
|
| |
|
| |
|
|
|
|
|
| |
This function is hard to support in alternative implementations. It has
no internal use case.
|
|
|
|
| |
closes #2384
|
|
|
|
| |
Fixes link failure when linking Ada programs on the raspberry pi
|
|
|
|
| |
closes #2376.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The e500v1 has no support for the ATB.
Update #2369.
|
|
|
|
|
|
| |
The mftb is not available on Book E processors. Use SPR 268 instead.
Close #2369.
|
|
|
|
|
| |
Disable an optimization which would lead to a recursive calloc() call in
calloc().
|
|
|
|
|
| |
This allows a suitably configured DHCP server with DDNS to enter
the name into the DNS table making it addressiable via it's host name.
|
|
|
|
|
| |
Exploit the fact that the current thread lock must be the default thread
lock and interrupts are disabled if we call _Thread_Lock_set().
|
| |
|
| |
|