You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FreeRTOS-Kernel/portable
Marouen Ghodhbane 72bb476bf3 portable: aarch64_sre: Add support for vApplicationFPUSafeIRQHandler
The application writer needs to name their IRQ handler as:
1. vApplicationIRQHandler if the IRQ handler does not use FPU registers.
2. vApplicationFPUSafeIRQHandler is the IRQ handler uses FPU registers.

When the application uses vApplicationFPUSafeIRQHandler, a default
implementation of vApplicationIRQHandler is used which stores FPU
registers and then calls vApplicationFPUSafeIRQHandler.

Note that recent versions of GCC may use FP/SIMD registers to optimize 16-bytes
copy and especially when using va_start()/va_arg() functions (e.g printing some thing
in IRQ handlers may trigger usage of FPU registers)

This implementation is heavily inspired by both the ARM_CA9 port and the ARM_CRx_No_GIC
port done in [1]

[1] https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/1113

Signed-off-by: Marouen Ghodhbane <marouen.ghodhbane@nxp.com>
1 month ago
..
ARMClang Normalize line endings and whitespace in source files 2 years ago
ARMv8M ARMv8.1-M: Add task dedicated PAC key support (#1195) 1 month ago
BCC/16BitDOS Use Regex for Copyright Year in Header Check (#1002) 1 year ago
CCRH/F1Kx Pass core ID to port lock macros (#1212) 2 months ago
CCS Move configASSERT default definition above before including portable.h. (#1185) 4 months ago
CodeWarrior Use Regex for Copyright Year in Header Check (#1002) 1 year ago
Common Add xQueueCreateSetStatic method for static allocation of Queue Sets (#1228) 1 month ago
GCC portable: aarch64_sre: Add support for vApplicationFPUSafeIRQHandler 1 month ago
IAR ARMv8.1-M: Add task dedicated PAC key support (#1195) 1 month ago
Keil Normalize line endings and whitespace in source files 2 years ago
MPLAB Move configASSERT default definition above before including portable.h. (#1185) 4 months ago
MSVC-MingW Regression Bug Fix: Fix Incorrect Return of MSVC-MingW portYIELD_FROM_ISR (#1207) 2 months ago
MemMang Add xPortResetHeapMinimumEverFreeHeapSize to heap5 (#1191) 4 months ago
MikroC/ARM_CM4F Move configASSERT default definition above before including portable.h. (#1185) 4 months ago
Paradigm/Tern_EE Use Regex for Copyright Year in Header Check (#1002) 1 year ago
RVDS Move configASSERT default definition above before including portable.h. (#1185) 4 months ago
Renesas Move configASSERT default definition above before including portable.h. (#1185) 4 months ago
Rowley Use Regex for Copyright Year in Header Check (#1002) 1 year ago
SDCC/Cygnal Use Regex for Copyright Year in Header Check (#1002) 1 year ago
Softune Use Regex for Copyright Year in Header Check (#1002) 1 year ago
Tasking/ARM_CM4F Use Regex for Copyright Year in Header Check (#1002) 1 year ago
ThirdParty POSIX Simulator: Remove unused __APPLE__ mach_vm.h include (#1225) 1 month ago
WizC/PIC18 Fix spelling typos (#1168) 4 months ago
oWatcom/16BitDOS Fix spelling typos (#1168) 4 months ago
template Pass core ID to port lock macros (#1212) 2 months ago
CMakeLists.txt Fix CMake build for RP2040 (#1197) 3 months ago
readme.txt Normalize line endings and whitespace in source files 2 years ago

readme.txt

Each real time kernel port consists of three files that contain the core kernel
components and are common to every port, and one or more files that are
specific to a particular microcontroller and/or compiler.


+ The FreeRTOS/Source/Portable/MemMang directory contains the five sample
memory allocators as described on the https://www.FreeRTOS.org WEB site.

+ The other directories each contain files specific to a particular
microcontroller or compiler, where the directory name denotes the compiler
specific files the directory contains.



For example, if you are interested in the [compiler] port for the [architecture]
microcontroller, then the port specific files are contained in
FreeRTOS/Source/Portable/[compiler]/[architecture] directory.  If this is the
only port you are interested in then all the other directories can be
ignored.