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 release brings the support of Keil RTX with uVisor on mbed OS, plus
several other improvements.
**New features**
* Integration in Keil RTX in mbed OS.
* Secure dynamic allocation APIs.
* Box initialization routines.
* Register gateway.
* vMPU recovery generalized for both Kinetis and ARMv7-M MPUs.
* APIs for per-box interrupts disablement and re-enablement.
**Work in progress**
* Remote Procedure Call (RPC). New API signatures have been published.
* The alpha-level implementation will follow soon.
**Deprecated features**
* Secure gateway. Cross-box communication will be implemented with RPC
* gateways.
**Bugfixes**
* Several ARMv7-M-specific bug fixes.
* Fixed a bug that sent the device into lock-up after a hard fault.
* Fixed checks on revision numbers for Cortex-M devices.
**Miscellaneous improvements**
* Optimized memory protection for ARMv7-M devices with shared SRAM.
* Build artifacts are grouped into the target/build
* option/configuration-specific folder.
* Documents have been grouped into API vs. core documents.
* Improved style and consistency.
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.