summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Require power of two CPU_STACK_MINIMUM_SIZESebastian Huber2022-10-141-1/+1
| | | | | For most CPU ports this was already the case. This makes it possible to use the size as an object alignment using RTEMS_ALIGNED().
* Do not use RTEMS_INLINE_ROUTINESebastian Huber2022-09-191-1/+1
| | | | | | | Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
* score: Remove _CPU_Counter_difference()Sebastian Huber2022-09-091-8/+0
| | | | | | | All CPU ports used the same _CPU_Counter_difference() implementation. Remove this CPU port interface and mandate a monotonically increasing CPU counter. Close #3456.
* cpu.h: Fix gcc 12 warningsRyan Long2022-08-191-2/+18
| | | | | | | | Added two pragmas to address, and changed the value of AARCH64_EXCEPTION_MAKE_ENUM_64_BIT to INT_MAX because the old value was not in range of an int. Updates #4662
* cpukit/aarch64: Remove _CPU_ISR_install_vectorKinsey Moore2022-07-051-6/+0
| | | | This function was never actually used and is dead code.
* SMP: Fix start multitasking for some targetsSebastian Huber2022-03-091-0/+4
| | | | | | | | | | | | | The previous SMP multitasking start assumed that the initial heir thread of a processor starts execution in _Thread_Handler(). The _Thread_Handler() sets the interrupt state explicitly by _ISR_Set_level() before it calls the thread entry. Under certain timing conditions, processors may perform an initial context switch to a thread which already executes its thread body (see smptests/smpstart01). In this case, interrupts are disabled after the context switch on targets which do not save/restore the interrupt state during a context switch (aarch64, arm, and riscv). Close #4627.
* cpukit/aarch64: Add exception extensions supportKinsey Moore2021-10-291-0/+21
| | | | | This adds the function implementations necessary to add exception extensions support to AArch64.
* cpukit/aarch64: Use correct interrupt level typesKinsey Moore2021-10-011-2/+2
| | | | | All other architectures use uint32_t for interrupt levels and there is no reason not to do so on AArch64.
* cpukit: Add AArch64 SMP SupportKinsey Moore2021-09-211-4/+9
| | | | This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
* score: Canonicalize _CPU_Fatal_halt()Sebastian Huber2021-07-281-13/+0
| | | | | | | | Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it is a proper declaration of a function which does not return. Fix the type of the error code. If necessary, add the implementation to cpu.c. Implementing _CPU_Fatal_halt() as a function makes it possible to wrap this function for example to fully test _Terminate().
* score: Remove processor event broadcast/receiveSebastian Huber2021-07-281-12/+0
| | | | | | Remove _CPU_SMP_Processor_event_broadcast() and _CPU_SMP_Processor_event_receive(). These functions are hard to use since they are subject to the lost wake up problem.
* cpukit/aarch64: Restore ISR cookie bit maskKinsey Moore2021-04-191-13/+13
| | | | | | | The _CPU_ISR_Is_enabled() function operates on ISR cookies and so must mask off the appropriate status bits. This also fixes the naming of the parameters of the _CPU_ISR_* functions to indicate use of ISR cookies instead of interrupt enable/disable levels.
* score/aarch64: Fix interrupt level readsAlex White2021-03-051-2/+6
|
* cpukit/aarch64: Use hex consistently for offsetsKinsey Moore2020-12-101-13/+13
|
* score/aarch64: Size saved SP register for ABIKinsey Moore2020-11-131-1/+4
| | | | | This ensures that the saved SP register is sized appropriately depending on the chosen ABI and prevents a warning in the libmisc stack checker.
* rtems: Improve RTEMS_NO_RETURN attributeSebastian Huber2020-10-101-2/+1
| | | | | | | | | | | Provide RTEMS_NO_RETURN also in case RTEMS_DEBUG is defined to prevent errors like this: error: no return statement in function returning non-void [-Werror=return-type] Use C11 and C++11 standard means to declare a no-return function. Close #4122.
* score: Add AArch64 portKinsey Moore2020-10-051-0/+554
This adds a CPU port for AArch64(ARMv8) with support for exceptions and interrupts.