| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
| |
4e3d9a4d6c76fba8e31138d503f736405dafc213 broke or1k, cpuatomic.h has to
be added to all architectures.
|
| |
|
|
|
|
|
|
|
|
| |
In _ARMV4_Exception_fiq_default, set the F bit of the SPSR so that when
it gets loaded back to the CPSR in save_more_context it won't re-enable
the FIQs.
Tested on a TMS570LS3137.
|
|
|
|
|
| |
The sparc64 port had some incorrect copyright notices affixed to
source code files.
|
|
|
|
|
|
|
|
| |
Closes #2148
Fix suggested in above ticket. On examination, the assembly
appears to be clearing the DISPATCH_NEEDED flag before jumping
to _Thread_Dispatch.
|
|
|
|
| |
Update #2268.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add AltiVec and FPU support to the Context_Control in case we use the
e6500 multilib.
Add PPC_MULTILIB_ALTIVEC and PPC_MULTILIB_FPU multilib defines. Add
non-volatile AltiVec and FPU context to Context_Control. Add save/restore of
non-volatile AltiVec and FPU to _CPU_Context_switch(). Add save/restore
of volatile AltiVec and FPU context to the exception code. Adjust data
cache optimizations for the new context and cache line size.
|
|
|
|
| |
Close #2232.
|
|
|
|
|
|
|
| |
ARMv6-M is not supported since we cannot directly use the ARMv7-M code
due to some inline assembler statements.
Close #2231.
|
| |
|
|
|
|
| |
Provide floating point context support only if PPC_HAS_FPU == 1.
|
|
|
|
| |
Simplify PPC_STACK_ALIGNMENT definition.
|
| |
|
|
|
|
|
| |
Use it for the default PPC_CACHE_ALIGNMENT. Use it for
PPC_STRUCTURE_ALIGNMENT.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Coding style cleanups.
* Use OS reserved trap 0x89 for IRQ Disable
* Use OS reserved trap 0x8A for IRQ Enable
* Add to SPARC CPU supplement documentation
This will result in faster Disable/Enable code since the
system trap handler does not need to decode which function
the user wants. Besides the IRQ disable/enabled can now
be inline which avoids the caller to take into account that
o0-o7+g1-g4 registers are destroyed by trap handler.
It was also possible to reduce the interrupt trap handler by
five instructions due to this.
|
|
|
|
|
|
|
| |
Converting 64-bit nanoseconds values into the common struct timeval or
struct timespec formats requires a 64-bit division to get the seconds
value. Performance analysis of high network loads revealed that this is
too costly on ARM.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
|
|
|
|
| |
RTEMS_COMPILER_NO_RETURN_ATTRIBUTE plus fix warnings on unimplemented ISR enable/disable
|
|
|
|
| |
RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Fatal_halt handler now have two options, either halt
as before or enter system error state to return to
debugger or simulator. The exit-code is now also
propagated to the debugger which is very useful for
testing.
The CPU_Fatal_halt handler was split up into two, since
the only the LEON3 support the CPU power down.
The LEON3 halt now uses the power-down instruction to save
CPU power. This doesn't stop a potential watch-dog timer
from expiring.
|
|
|
|
|
|
| |
Since or1k architecture stack grows down, threads should be initialized
with high stack addresses instead of lower ones. This is done in
_CPU_Context_Initialize function.
|
|
|
|
|
|
|
| |
Converting 64-bit nanoseconds values into the common struct timeval or
struct timespec formats requires a 64-bit division to get the seconds
value. Performance analysis of high network loads revealed that this is
too costly on PowerPC.
|
|
|
|
|
|
|
| |
Converting 64-bit nanoseconds values into the common struct timeval or
struct timespec formats requires a 64-bit division to get the seconds
value. Performance analysis of high network loads revealed that this is
too costly on PowerPC.
|
| |
|
|
|
|
|
|
|
|
| |
This patch adjusts ISR_Handler to exactly follow the pseudo code introduced
in
http://rtems.org/onlinedocs/doc-current/share/rtems/html/porting/Interrupts-Interrupt-Dispatching.html
It adds two new checkings on _Thread_Dispatch_disable_level and _ISR_Nest_level
after returning from the C handler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch allocate a space in the stack to account for red-zone
that gcc may utilize for the use of leaf functions. Care must be
taken to handle this red-zone from many places:
1- Upon creation of a new thread stack.
2- Once an interrupt entred.
Also moving the enable-thread-dispach() and increment ISR level before
checking if dispatch needed was required.
The previous modifications solved the printf bug which disabled ticker
to output strings after context switches that arise from Thread_Delay_ended.
|