-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ARM_CRx_No_GIC port #1101
Update ARM_CRx_No_GIC port #1101
Conversation
Signed-off-by: kar-rahul-aws <[email protected]>
/* Write to the EOI register. */ | ||
LDR r0, ulICCEOIRConst | ||
LDR r0, =ulICCEOIR | ||
LDR r2, [r0] | ||
STR r0, [r2] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know that this is code that is already here, but this makes an assumption that the MCU being used has a memory-mapped EOI register, the ARM_CRx_MPU:FreeRTOS_IRQ_Handler removed this code, I'd recommend doing the same here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The suggestion is good but this may break existing applications that rely on this behavior. I'd keep it here for backward compatibility.
Description
This PR makes the following improvements to the ARM_CRx_No_GIC port-
Remove inline assembly and move all the assembly code to the
portASM.S
file.Add support for
configUSE_TASK_FPU_SUPPORT
-configUSE_TASK_FPU_SUPPORT
is defined to 1, tasks are created without floating point context. Tasks that want to use floating point, need to callportTASK_USES_FLOATING_POINT()
. This is the current behavior.configUSE_TASK_FPU_SUPPORT
is defined to 2, each task is created with a floating point context.If left undefined,
configUSE_TASK_FPU_SUPPORT
defaults to 1 for backward compatibility.The application writer can now implement
vApplicationSVCHandler
to handle theSVC
calls raised within the application.SVC 0
is used for the yield kernel operation and the application can use all theSVC
calls other than 0.Test Steps
Tested using register tests and standard full demo tests on the TI RM57 board.
Checklist:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.