Use a newer version of uVisor that doesn't change the box main thread
function type. Previously, we required all box main thread definitions
to change from taking a `const void *` to a `void *` when moving to
RTX5. We now are backwards compatibile.
* Updated docs
* Re-factored vMPU drivers
* Non-backwards-compatible API change: uvisor_ctx is now called
__uvisor_ctx and requires the user to explicitly cast it to their own
private context structure.
This only affects applications with uVisor enabled.
* Use "public box" instead of main box for box 0.
The system hook thread_switch gets called both through the SVC and
though the PendSV, which can get interrupted by the SVC.
Since calls to the uVisor API are not re-entrant, we need to wrap this
function in an atomic section to prevent faults.
- Enhanced Debug Box
- Allow hw-specific ACL extensions per region
- Reduce background region rights to debugger and core
- Added Beetle SoC uVisor support
- MPU code restructured
This commit updates the uVisor libraries following the following fix:
* ARMmbed/uvisor@767e794 "K64F vMPU: Use the MPU fault address"
The bug made some release builds of the uVisor example halt because of
an imprecise bus fault not correctly handled by uVisor internally.
The change only affects targets where `FEATURE_UVISOR` and
`UVISOR_SUPPORTED` are defined.