-
Notifications
You must be signed in to change notification settings - Fork 3k
Update uVisor to v0.28.1 #4295
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 uVisor to v0.28.1 #4295
Conversation
2ddc80b
to
eb303ec
Compare
* osRtxInfo again. */ | ||
BL thread_switch_helper | ||
LDR R3,=osRtxInfo+I_T_RUN_OFS // Load address of osRtxInfo.run | ||
LDM R3,{R1,R2} // Load osRtxInfo.thread.run: curr & next |
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.
Note: the values from osRtxInfo
are re-obtained identically to lines 63 and 64 above.
@Patater @AlessandroA Just needs a rebase and should be ready for final testing |
uVisor CI is expected to fail on this PR right now. This PR changes uVisor APIs, and we need to merge our tests PR first in order to use the new APIs. Unfortunately, merging our test PR will break uVisor CI for everybody else until this mbed OS PR also goes in. Merging these two PRs requires careful coordination. |
OK, please keep us updated |
/morph test |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
OutputAll builds and test passed! |
@Patater Ready for the uvisor tests to be updated. Can you do that now? |
@sg- Yes, I'll merge those now. |
uVisor doesn't set the PSP of the target thread. The RTOS sets the PSP of the target thread from the target thread's TCB. However, when interrupts of higher priority than PendSV happen between the call to uVisor to switch boxes, and the RTOS setting PSP, the uVisor vIRQ interrupt handler will attempt to use an invalid PSP (the PSP from before the box and thread switch). This leads to a crash. Make box and thread switching atomic by disabling interrupts immediately before the box switching until immediately after the new PSP is set.
retest uvisor |
/morph test |
Result: SUCCESSYour command has finished executing! Here's what you wrote!
OutputAll builds and test passed! |
Description
This ships an updated uVisor that supports ARMv8-M, and provides fixes for uVisor on ARMv7-M.
This previously added the following, but this target is not yet ready to be added to mbed OS; so we'll hold off on these things.
Add ARMv8-M Cortex-M33 target (ARM_MPS2_ARMv8MML)Prepare uVisor scripts and components for ARMv8-MStatus
READY
This depends on #4294 being merged first.MergedRelated PRs
Deploy notes
Requires GNU Tools for ARM Embedded Processors 6-2017-q1-update.