| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #3706.
|
|
|
|
| |
Update #3706.
|
| |
|
|
|
|
|
|
| |
This makes the @file documentation independent of the actual file name.
Update #3707.
|
| |
|
|
|
|
| |
Update #3678.
|
|
|
|
| |
Update #3678.
|
|
|
|
|
|
|
| |
It must be enabled, since the context switch code does not save/restore
the interrupt status.
Update #3433.
|
|
|
|
|
| |
Include all cpukit/*/header.am files in cpukit/Makefile.am. This gets
rid of all subtree Makefile.am and the sudirs hack.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Remove the CPU_PROVIDES_IDLE_THREAD_BODY option to avoid unnecessary
conditional compilation.
Close #3539.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the CPU_SIZEOF_POINTER alignment instead. The internal alignment
requirement is defined by the use of Chain_Node (consisting of two
pointers) to manage the free chain of partitions.
It seems that previously the condition
CPU_PARTITION_ALIGNMENT >= sizeof(Chain_Node)
was true on all CPU ports. Now, we need an additional check.
Update #3482.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
| |
The CLINT and PLIC need some per-processor state.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
|
|
|
|
| |
Remove _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector()
functions. Applications can install an exception handler via the fatal
error handler to handle synchronous exceptions.
Handle interrupt exceptions via _RISCV_Interrupt_dispatch() which must
be provided by the BSP.
Update #3433.
|
|
|
|
|
|
|
| |
Use the CPU_Interrupt_frame for the volatile context. Add non-volatile
registers and extra state on top of it.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
|
| |
On some architectures/simulators it is difficult to provoke an
exception with misaligned or illegal data loads. Use an illegal
instruction instead.
Update #3433.
|
|
|
|
|
| |
This helps to reduce the use of architecture-specific defines throughout
the code base.
|
|
|
|
|
|
|
| |
The context validation support functions _CPU_Context_validate() and
_CPU_Context_volatile_clobber() are used only by one test program
(spcontext01). Move the function declarations to the CPU port
implementation header file.
|
| |
|
|
|
|
|
|
|
| |
An address must be loaded to a register according to the code model.
Add LADDR define for use in assembler code.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
| |
See also RISC-V User-Level ISA V2.3, comment in section 8.2
"Load-Reserved/Store-Conditional Instructions".
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
|
| |
Save/restore non-volatile registers in _CPU_Context_switch().
Save/restore volatile registers in _ISR_Handler().
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
| |
Move SREG and LREG assembler defines to <rtems/score/asm.h>.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
|
|
|
| |
The mstatus register contains no thread-specific state which must be
saved/restored during a context switch. Machine interrupts (MIE) must
be enabled during a context switch.
Create separate CPU_Interrupt_frame structure.
Update #3433.
|
|
|
|
|
|
|
|
|
|
| |
The RISC-V psABI
https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
does not mention that this is a frame pointer.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
|
| |
Do not clear the complete thread context. Initialize only the necessary
members. The Context_Control::is_executing member must be preserved
across _CPU_Context_Initialize() calls.
Update #3433.
|
|
|
|
|
|
|
|
|
|
| |
According to the RISC-V psABI
https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
the stack alignment is 128 bits (16 bytes).
Update #3433.
|
|
|
|
|
|
|
|
|
|
|
| |
The current ABI says that there is no stack red zone:
https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md
"Procedures must not rely upon the persistence of stack-allocated data
whose addresses lie below the stack pointer."
Update #3433.
|
|
|
|
|
|
|
|
| |
The code sequence is derived from the ARM code
(see _ARMV4_Exception_interrupt).
Update #2751.
Update #3433.
|
|
|
|
| |
Update #3433.
|
|
|
|
|
|
|
| |
Remove <rtems/score/riscv-utility.h> include from <rtems/score/cpu.h>
(which is visible via <rtems.h> for example).
Update #3433.
|
|
|
|
|
|
|
|
|
| |
Use the atomic read and clear operation to disable interrupts.
Do not write the complete mstatus. Instead, set only the MIE bit
depending on the level parameter.
Update #3433.
|