Commit graph

198 commits

Author SHA1 Message Date
Soren Ptak
153af86d70 Fix an incorrect operating mode word in the portASM.S file, slight formatting tweak, use checkout@v4 to account for new warnings 2024-02-19 11:56:05 -05:00
Soren Ptak
370498fe93 Slight changes to formatting 2024-02-14 09:08:23 -05:00
Soren Ptak
5f5ed08f82 Slight formatting change to mpu_wrappers files 2024-02-14 08:49:40 -05:00
Soren Ptak
72ee9e302d Fix two incorrect ifdef guards in mpu_wrappers_v2_asm.S 2024-02-07 13:13:54 -08:00
Soren Ptak
ca9f1cca49
Merge branch 'main' into ARM_CRx_MPU 2024-02-06 14:40:27 -05:00
Eric Jackson
938ec0f7bf
Correct ARM port folder capitalization (#981)
* Rename Arm_AARCH64 to ARM_AARCH64

* Rename Arm_AARCH64_SRE to ARM_AARCH64_SRE

* Update cmake for ARM port folder capitalization

* Update in portable/CmakeLists.txt
* Use capitalization name in port README.md

---------

Co-authored-by: Ching-Hsin Lee <chinglee@amazon.com>
2024-02-05 10:31:52 -08:00
Soren Ptak
db8f233276 Remove the check for clear tick interrupt. Format comments a little. Set copyright year for 2024 2024-02-02 10:59:15 -05:00
Soren Ptak
797f2f22bb Formatting tweaks for mpu_wrappers_v2_asm.S 2024-02-01 17:04:04 -05:00
Soren Ptak
56a51ff9f5 Formatting changes, move function declarations around to make the file flow a bit better 2024-02-01 16:40:30 -05:00
Soren Ptak
ec1332e1f4 Remove the default peripheral MPU region from the port. Add declarations of private functions to the top of port.c 2024-02-01 15:00:33 -05:00
Soren Ptak
9cf6c26a29 Add in functions to enable and disable the MPU background region. Add the calls to it in the MPU Setup function. Change the port's scheduler running variable name so it is different from the Kernels. Fix two incorrect comments SPSR -> CPSR 2024-02-01 12:42:02 -05:00
Soren Ptak
ca37a2cfc7 Respond to additional review feedback. Use periods at end of briefs. Remove same line brief. Add a check back in, change some file names, slight code formatting change. 2024-01-31 14:56:48 -05:00
Soren Ptak
11beb7156e Formatting fixes 2024-01-30 14:28:02 -05:00
Soren Ptak
902ae3d750 Merge branch 'ARM_CRx_MPU' of github.com:Skptak/FreeRTOS-Kernel into ARM_CRx_MPU 2024-01-30 14:16:44 -05:00
Soren Ptak
91d4d2416a Respond to PR Feedback
Fix incorrect context size define
Add MPU Region alignment check
Use highest priority MPU region when not provided xRegions
Remove unused variables
Remove dangling function declarations
2024-01-30 14:15:10 -05:00
Soren Ptak
3e86449b4e
Merge branch 'main' into ARM_CRx_MPU 2024-01-30 12:14:48 -05:00
Gaurav-Aggarwal-AWS
04cb022e44
Add a check for configENABLE_MVE to M23, M33 ports (#968)
Add a check for configENABLE_MVE to M23, M33 ports

configENABLE_MVE is only applicable to Cortex-M55 and Cortex-M85 ports.
It must not be defined to 1 for other ARMv8_m ports.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-01-30 10:43:53 +05:30
Gaurav-Aggarwal-AWS
5a2237a1e2
Remove configTOTAL_MPU_REGIONS from M3 MPU port (#966)
The number of MPU regions is not configurable for Cortex-M3 port and
therefore, it is misleading to have configTOTAL_MPU_REGIONS in
portmacro.h.

It was added in PR #952.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-01-29 23:59:18 +05:30
Forty-Bot
1860c9ad09
GCC: MSP430F449: Fix pxPortInitialiseStack on EABI (#947)
According to the MSP430 EABI [1] section 3.3,

Arguments are assigned, in declared order, to the first available
register single, pair, or quad from the following list into which it
fits (with the following special exceptions). For MSP430 and
MSP430X, the argument registers are: R12, R13, R14, R15

Therefore, pvParameters should be passed in R12, as it is the first
argument, not R15. Keep passing the parameter in R15 for the
MSP430 EABI, if anyone is still using it.

[1] https://www.ti.com/lit/an/slaa534a/slaa534a.pdf
2024-01-29 11:07:43 +05:30
Phillip Stevens
14dd5b503a
use configSTACK_DEPTH_TYPE consequently (updated for 11.0.x) (#942)
* use configSTACK_DEPTH_TYPE consequently

* update default to uint32_t

* Update FreeRTOS.h

Revert for backwards compatibility

* Update portable.h

* configSTACK_DEPTH_TYPE - unify stack variable naming

* update lexicon.txt

* update typo lexicon.txt

* Update task.h

* Update timers.h

* fix merge typo

* fix stack type

* fix timer stack type

* fix timer stack more

* fix affinity set stack

* adjust ports to use configSTACK_DEPTH_TYPE

* fix vTaskListTasks

* set default stack depth type in portable.h

* fix History.txt

* update affinityset

* resolve reviewer comments

* fix prvTaskCheckFreeStackSpace for variable stack size type

* restore CoRoutine defines

* remove obsolete stack ttype casts

* fix (attempt) for format portable.h

* Formatting fixes

* prvTaskCheckFreeStackSpace make variable naming compliant

* Update portable/GCC/ARM_CM33/non_secure/port.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update portable/GCC/ARM_CM23/non_secure/port.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Apply suggestions from code review

Update ulStackDepth to uxStackDepth

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Correct uxStackDepth in port.c

Also add uint32_t cast prvGetMPURegionSizeSetting.

* Update ARM CM3 MPU port.c

Revert casting of ( uint32_t ) pxBottomOfStack

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-01-27 10:56:55 +05:30
Soren Ptak
2f445ee7f1
Merge branch 'main' into ARM_CRx_MPU 2024-01-26 08:29:36 -05:00
Mubin Sayyed
5040a67939
Sync up MicroblazeV9 port with Xilinx tree (#220)
* MicroblazeV9: Add support for 64 bit microblaze
* MicroblazeV9: Add support for generation of run time task stats
* MicroblazeV9: Add default implementation for callback functions
---------
Signed-off-by: Mubin Usman Sayyed <mubin.usman.sayyed@xilinx.com>
2024-01-25 22:21:44 -05:00
Soren Ptak
8e664fc984
Add check for if the scheduler is running to ARMv8M MPU ports (#960)
* Allow access to any buffer in xPortIsAuthorizedToAccessBuffer if xSchedulerRunning is set to pdFALSE

* Allow access to any buffer in xPortIsAuthorizedToAccessBuffer if xSchedulerRunning is set to pdFALSE in the copied ARMv8M Port Files
2024-01-25 00:22:13 +05:30
Soren Ptak
4d9f6522e5
Add check for if the scheduler is running to MPU ports (#954)
* In the ARM_CM3_MPU and ARM_CM4_MPU Port function xPortIsAuthorizedToAccessBuffer() grant access to the buffer if xSchedulerRunning is false.
2024-01-23 11:48:20 -08:00
Soren Ptak
9919eee837
Merge branch 'main' into ARM_CRx_MPU 2024-01-22 12:10:44 -05:00
IsaacDynamo
52ab3d0f22
MPU assert for ARM_CM3_MPU (#952)
* Add runtime check to see if the target even has a MPU

* Add missing extern symbols for __ARMCC_VERSION support

* Add default for configTOTAL_MPU_REGIONS and change a runtime assert to compile time error

* Simplify check and link to reference documentation

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

---------

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
Co-authored-by: jasonpcarroll <23126711+jasonpcarroll@users.noreply.github.com>
2024-01-18 11:12:21 -08:00
Soren Ptak
ae6fc13111 Formatting fix 2024-01-12 18:27:25 -05:00
Soren Ptak
ec679094e9 Remove the end of interrupt clearing from the FreeRTOS_IRQ_Handler. Users should clear it in vApplicationIRQHandler() 2024-01-12 17:06:59 -05:00
Soren Ptak
e3d023b6bd Move the declaration of prvGetMPURegionSizeSetting to the top of the file 2024-01-12 17:06:29 -05:00
Soren Ptak
53c84a1f6f Update the port to use FreeRTOS_IRQ_Handler instead of the VIM functions 2024-01-10 09:19:56 -05:00
Soren Ptak
745384b04d Make vPortYieldWithinAPI and FreeRTOS_Tick_Handler into more configurable functions 2024-01-09 15:45:45 -05:00
Soren Ptak
8f9deb4514 Add the system call table as an actual extern declaration to the ASM file 2024-01-09 11:34:48 -05:00
Soren Ptak
aacae9f21c Fix formatting in portmacro_asm.h 2024-01-04 12:16:55 -05:00
Soren Ptak
63dfe612be Fix assert check in svc enter, remove un-used defines 2024-01-04 08:59:47 -05:00
Soren Ptak
0fc0a5fbba Formatting fix 2024-01-03 17:14:36 -05:00
Soren Ptak
22ff9003bb Merge branch 'ARM_CRx_MPU' of github.com:Skptak/FreeRTOS-Kernel into ARM_CRx_MPU 2024-01-03 17:05:06 -05:00
Soren Ptak
d23078088c Remove the use of ulContext and a controlled SVC stack pointer for the port 2024-01-03 17:04:10 -05:00
Soren Ptak
96ab824bb9
Merge branch 'main' into ARM_CRx_MPU 2024-01-03 11:07:48 -05:00
Soren Ptak
ae127206fa Formatting changes for the portASM.S file 2024-01-03 11:06:40 -05:00
Soren Ptak
56b400f1a2 Change the parameters for prvMpuSetRegion() to follow the naming convention a bit more 2024-01-03 11:05:50 -05:00
chinglee-iot
be880a1fc8
Fix portSET_INTERRUPT_MASK_FROM_ISR definition for atomic operation (#940)
* Introduce portHAS_NESTED_INTERRUPTS to identify if port has nested interrupt or not.
* Update atomic.h to use portHAS_NESTED_INTERRUPTS instead of portSET_INTERRUPT_MASK_FROM_ISR definition.

---------

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: ActoryOu <jay2002824@gmail.com>
2024-01-03 15:47:05 +08:00
Soren Ptak
fd19c0ee52 Throw an error if configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS is set to 1 2024-01-02 15:15:34 -05:00
Soren Ptak
e25b6e145d Formatting fix 2024-01-02 13:26:24 -05:00
Soren Ptak
be4dc05b78 Slight format change 2024-01-02 13:06:59 -05:00
Soren Ptak
b2c406c3a3 Change to make the .clang-format file work with V14 of clang-format. Moving the comment for PRIVILEGED_FUNCTION to the front to help with formatting, also makes more sense when looking at the func imo 2024-01-02 12:58:46 -05:00
Soren Ptak
4c53a433df Add the .clang-format file that is being used to the port 2024-01-02 11:48:48 -05:00
Soren Ptak
7650690bef Clang format portmacro.h with slight tweaks to the format options 2024-01-02 11:48:30 -05:00
Soren Ptak
4f65931294 Clang format port.c with slight tweaks to the format options 2024-01-02 11:48:21 -05:00
Soren Ptak
89227494cf Clang format the mpu_wrappers_v2_asm.h file with slight tweaks to the format options 2024-01-02 11:48:07 -05:00
Soren Ptak
43946db07b Refactoring xPortIsAuthorizedToAccessBuffer 2023-12-29 11:18:27 -05:00