FreeRTOS-Kernel/.github
Ahmed Ismail 6cd736cfeb
Arm-Cortex-R82: Add MPU support (#1347)
* arm-cortex-r82: Add MPU support

This commit introduces support for the Memory Protection Unit (MPU)
to the ARM Cortex-R82 port. The MPU enhances system security
by allowing the definition of memory regions with specific access
permissions. The following changes have been made:
- Added MPU configuration functions in `port.c` to set up memory
  regions and their attributes.
- Updated `portASM.S` to include assembly routines for MPU
  and context switching with MPU support.
- Created `mpu_wrappers_v2_asm.c` to provide assembly wrappers for
  MPU operations.
- Updated `portmacro.h` to include MPU-related macros and definitions.
- Modified `task.h` to include MPU-related task attributes.
- Updated `CMakeLists.txt` to include the new MPU source file.
- Enhanced the `README.md` with instructions on MPU configuration.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>

* cortex-r82: Minor code improvements

This commit includes minor code improvements to enhance readability
and maintainability of the Cortex-R82 port files. Changes include
refactoring variable names, optimizing comments, and improving code
structure without altering functionality.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>

* tasks: Disable stack-depth check if MPU wrappers is set

This stack-depth check should not be performed for ports
where portUSING_MPU_WRAPPERS is set to 1.
In this case, pxTopOfStack and pxNewTCB->pxTopOfStack reside
in different memory regions: pxTopOfStack is in unprivileged SRAM,
while pxNewTCB->pxTopOfStack is in privileged SRAM.
This is because pxPortInitialiseStack() returns the address of
`ullContext` array rather than the decremented pxTopOfStack,
as is done in the non-MPU case.
Consequently, this check is not valid in this scenario.

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>

---------

Signed-off-by: Ahmed Ismail <Ahmed.Ismail@arm.com>
2026-02-11 10:18:55 +05:30
..
ISSUE_TEMPLATE Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
media PR Process for Open Source Contribution (#717) 2023-08-03 12:26:59 +05:30
scripts Arm-Cortex-R82: Add MPU support (#1347) 2026-02-11 10:18:55 +05:30
workflows Update artifact path in the backup action (#1292) 2025-07-09 09:53:13 -07:00
.cSpellWords.txt Arm-Cortex-R82: Add MPU support (#1347) 2026-02-11 10:18:55 +05:30
allowed_urls.txt Add ARM Cortex-M52 port support FreeRTOS#1305 (#1334) 2025-12-19 17:52:58 +05:30
CODEOWNERS Update .github/CODEOWNERS (#1162) 2024-10-22 18:16:46 +05:30
CONTRIBUTING.md PR Process for Open Source Contribution (#717) 2023-08-03 12:26:59 +05:30
pull_request_process.md CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
pull_request_template.md Update PR template to include checkbox for Unit Test related changes (#627) 2023-02-20 13:16:57 -08:00
SECURITY.md Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
third_party_tools.md refactor: change methods ENTER|EXIT critical (#1140) 2024-10-07 10:37:50 +05:30
uncrustify.cfg Update uncrustify configuration to 0.69 (#445) 2022-01-28 10:48:03 -08:00