summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/aarch64/include/rtems/score/cpu.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-10-14score: Require power of two CPU_STACK_MINIMUM_SIZESebastian Huber1-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().
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber1-1/+1
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-09-09score: Remove _CPU_Counter_difference()Sebastian Huber1-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.
2022-08-19cpu.h: Fix gcc 12 warningsRyan Long1-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
2022-07-05cpukit/aarch64: Remove _CPU_ISR_install_vectorKinsey Moore1-6/+0
This function was never actually used and is dead code.
2022-03-09SMP: Fix start multitasking for some targetsSebastian Huber1-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.
2021-10-29cpukit/aarch64: Add exception extensions supportKinsey Moore1-0/+21
This adds the function implementations necessary to add exception extensions support to AArch64.
2021-10-01cpukit/aarch64: Use correct interrupt level typesKinsey Moore1-2/+2
All other architectures use uint32_t for interrupt levels and there is no reason not to do so on AArch64.
2021-09-21cpukit: Add AArch64 SMP SupportKinsey Moore1-4/+9
This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
2021-07-28score: Canonicalize _CPU_Fatal_halt()Sebastian Huber1-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().
2021-07-28score: Remove processor event broadcast/receiveSebastian Huber1-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.
2021-04-19cpukit/aarch64: Restore ISR cookie bit maskKinsey Moore1-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.
2021-03-05score/aarch64: Fix interrupt level readsAlex White1-2/+6
2020-12-10cpukit/aarch64: Use hex consistently for offsetsKinsey Moore1-13/+13
2020-11-13score/aarch64: Size saved SP register for ABIKinsey Moore1-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.
2020-10-10rtems: Improve RTEMS_NO_RETURN attributeSebastian Huber1-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.
2020-10-05score: Add AArch64 portKinsey Moore1-0/+554
This adds a CPU port for AArch64(ARMv8) with support for exceptions and interrupts.