| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Add
o _Nios2_MPU_Get_region_descriptor(), and
o _Nios2_MPU_Set_region_registers().
|
| |
|
|
|
|
|
| |
Add and use function _ARMV7M_Set_exception_priority_and_handler(). Use
ARMV7M_EXCEPTION_PRIORITY_LOWEST define.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit covers at least PR2020, 2022, and 2023. This
patch adds all of the code for both BSPs, modifications
to libcpu/powerpc for the ppc440, and some updates to the
BSPs from follow up review and testing.
These BSPs should be good baselines for future development.
The configurations used by Ric are custom and have a non-standard
NIC. They also do not have a UART. Thus the current console
driver just prints to a RAM buffer.
The NIC and UART support are left for future work. When the UART
support is added, moving the existing "to RAM" console driver to
a shared location is likely desirable because boards with no debug
UART port are commonly deployed. This would let printk() go to RAM.
|
| |
|
|
|
|
|
| |
This fix is critical. The previous implementation leads to system
corruption.
|
| |
|
| |
|
|
|
|
|
| |
Add the trap vector to the interrupt frame. Also rename the assembly
macro that accesses the field to be consistent with similar macros.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* cpu.c: Make _defaultExcHandler static.
|
|
|
|
| |
* cpu.c: Correct typo.
|
|
|
|
| |
* rtems/powerpc/registers.h: More register defines.
|
|
|
|
|
|
| |
PR 1956/cpukit
* rtems/score/cpu.h: Correct multiple alignment constants. Improve
comments.
|
| |
|
|
|
|
|
|
| |
PR 1965/cpukit
* rtems/score/arm.h: Select ARMv4 multilib implementation for
__ARM_ARCH_7A__.
|
| |
|
|
|
|
|
| |
PR 1954/cpukit
* score/cpu/lm32/rtems/score/lm32.h: Protect against macro expansion.
|
|
|
|
|
| |
PR 1955/cpukit
* rtems/score/cpu.h: Convert CPU_swap_u16 into a static inline.
|
|
|
|
| |
* rtems/score/cpu.h: Removed unused register_pc from Context_Control.
|
|
|
|
|
|
|
| |
PR 1949/cpukit
PR 1950/cpukit
* rtems/score/arm.h: Select ARMv4 multilib implementation for
__ARM_ARCH_6J__.
|
|
|
|
|
|
|
|
| |
* nios2-mpu-configuration.c, nios2-mpu-descriptor.c,
nios2-mpu-disable-protected.c, nios2-mpu-reset.c: New files.
* Makefile.am: Reflect changes above.
* rtems/score/nios2-utility.h, nios2-context-initialize.c: Added
support for the memory protection unit (MPU).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 1932/cpukit
* cpu_asm.S: At some point the interrupt trap handler causes a
window-overflow and the window overflow trap handler crashes when
writing to 0. I found that this is because the WIM was bad, to the
window overflow handler uses a uninitialized stack pointer in a
window never used.
* g3=CWP, not WIM
* CWP is incremented by done_flushing no need doing that here also
* I see no reason to create an additional stack frame (save)
* Must turn off traps when updating WIM (maybe already done by caller?)
|
|
|
|
|
| |
PR 1918/cpukit
* cpu.c: Initialize context with cleared g4 register.
|
|
|
|
|
| |
* nios2-context-switch.S: Use small-data area access for
_Per_CPU_Information fields.
|
|
|
|
|
| |
PR 1914/cpukit
* rtems/score/cpu.h: Select timestamp implementation.
|
| |
|
|
|
|
|
| |
PR 1914/cpukit
* rtems/score/cpu.h: Select timestamp implementation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/score/armv7m.h, armv7m-context-initialize.c,
armv7m-context-restore.c, armv7m-context-switch.c,
armv7m-exception-handler-get.c, armv7m-exception-handler-set.c,
armv7m-exception-priority-get.c, armv7m-exception-priority-set.c,
armv7m-initialize.c, armv7m-isr-dispatch.c, armv7m-isr-enter-leave.c,
armv7m-isr-level-get.c, armv7m-isr-level-set.c,
armv7m-isr-vector-install.c, armv7m-multitasking-start-stop.c: New
files.
* Makefile.am, preinstall.am: Reflect changes above.
* rtems/score/arm.h: Define ARM_MULTILIB_ARCH_V4 and
ARM_MULTILIB_ARCH_V7M.
* rtems/score/cpu.h, cpu_asm.S, cpu.c, arm_exc_abort.S,
arm_exc_handler_high.c, arm_exc_handler_low.S, arm_exc_interrupt.S:
Define CPU_HAS_HARDWARE_INTERRUPT_STACK to FALSE. Use
ARM_MULTILIB_ARCH_V4 and ARM_MULTILIB_ARCH_V7M.
|
|
|
|
|
|
| |
PR 1914/cpukit
* rtems/score/cpu.h: Document CPU_TIMESTAMP_USE_STRUCT_TIMESPEC,
CPU_TIMESTAMP_USE_INT64, and CPU_TIMESTAMP_USE_INT64_INLINE.
|
|
|
|
|
|
|
|
| |
* nios2-eic-il-low-level.S, nios2-eic-rsie-low-level.S: New files.
* Makefile.am: Reflect changes above.
* rtems/score/cpu.h, rtems/score/nios2-utility.h,
nios2-thread-dispatch-disabled.c, nios2-context-switch.S: Added
support for thread stack protection via the MPU.
|
|
|
|
| |
* rtems/score/arm.h: More CPU_MODEL_NAME variants.
|
|
|
|
|
| |
* rtems/score/cpu.h: Request cache alignment and small data area in
CPU_STRUCTURE_ALIGNMENT.
|
|
|
|
|
| |
* nios2-thread-dispatch-disabled.c: Use offsetof() instead of
RTEMS_offsetof().
|
|
|
|
|
| |
* rtems/score/nios2-utility.h, nios2-isr-set-level.c,
nios2-isr-get-level.c: Renamed functions.
|
|
|
|
|
| |
* rtems/score/nios2-utility.h: Use the same values for defines used by
Altera HAL.
|
|
|
|
|
|
|
| |
* rtems/score/nios2-utility.h: Avoid redefines with Altera HAL.
Declare _Nios2_ISR_Set_level().
* nios2-context-initialize.c: Use _Nios2_ISR_Set_level().
* nios2-isr-set-level.c: Define _Nios2_ISR_Set_level().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cpu.c, cpu_asm.S: Removed files.
* nios2-context-initialize.c, nios2-context-switch.S,
nios2-fatal-halt.c, nios2-initialize-vectors.c, nios2-initialize.c,
nios2-isr-get-level.c, nios2-isr-install-raw-handler.c,
nios2-isr-install-vector.c, nios2-isr-is-in-progress.c,
nios2-isr-set-level.c, nios2-thread-dispatch-disabled.c,
rtems/score/nios2-utility.h: New files.
* Makefile.am, preinstall.am: Reflect changes above.
* irq.c: Update due to API changes.
* rtems/score/cpu.h: New functions _CPU_Initialize_vectors(),
_CPU_ISR_Set_level(), and _CPU_Fatal_halt() (instead of macros).
Support for external interrupt controller (EIC). Documentation
changes.
|
|
|
|
|
| |
* rtems/score/cpu.h: Add more context access functionality. Needed to
get GDB debugger hooks working.
|
|
|
|
|
|
| |
* rtems/powerpc/registers.h: Renamed defines XER in PPC_XER, LR in
PPC_LR, CTR in PPC_CTR, PVR in PPC_PVR, RPA in PPC_RPA, DAR in
PPC_DAR, DEC in PPC_DEC, and EAR in PPC_EAR.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* cpu.c: Fix the ISR get level for the IIC. Make
_CPU_Context_Initialize a function rather than inlined.
* cpu_asm.S: Do not enable interrupt on return, rather resume the
state on entry to the ISR.
* irq.c, nios2/nios2-iic-low-level.S: Change the ISR handler so
the ipending decoding is in C and within the interrupt
context. This is usable with the Altera HAL directly.
* rtems/score/cpu.h: Add ienable and ipending interfaces. Add some
comments. Remove _CPU_Context_Initialize.
|
|
|
|
|
| |
PR 1868/lm32
* irq.c: Bugfix.
|