Skip to content

Releases: ARMmbed/uvisor

Stack fault recovery

16 Nov 10:31
Compare
Choose a tag to compare

New features:

  • Recovery from stack faults.
  • Allow nested faults when handling SVCalls (allowed: MemManage and Bus faults).
  • More detailed blue screens.

Improvements:

  • All entry points unified to a single API table.
  • vMPU code refactored.
  • Automatic source code listing in build system.

Atomic Thread Switch

26 Sep 10:15
Compare
Choose a tag to compare
Merge pull request #341 from niklas-arm/fix/atomic_thread_switch

Wrap thread_switch in an atomic section

Alpha-level support for Keil RTX on mbed OS

22 Jul 15:45
Compare
Choose a tag to compare

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.

Fix hanging applications when uVisor is disabled

01 Apr 15:40
Compare
Choose a tag to compare

Applications running on platforms where uVisor is supported but disabled were hanging in debug mode, due to some spurious debug messages printed by uVisor.

This release fixes that bug.

Swap uvisor and uvisor-lib

19 Mar 22:55
Compare
Choose a tag to compare

Main changes

  • ARMmbed/uvisor-lib is not a submodule of ARMmbed/uvisor any more.
  • All APIs are now put in a centralized folder — api.
  • The uVisor binary is now released as a static library which includes the compiled uVisor APIs as well.
  • As a result, uVisor is now de-coupled from the host OS. uvisor-lib is the glue layer needed to integrate the uVisor in mbed OS and yotta. Read the updated documentation for more details.

API changes

  • Removed vIRQ_SetVectorX. Use vIRQ_SetVector, instead.

Bug fixes

  • Check for an uninitialized debug box.
  • Prevent null handlers in the debug box driver.
  • Distinguish between checks on public flash and physical flash.
  • Avoid dependency on reset value of MPU RNR register.
  • Restore priority bits when writing to the NVIC IP register.

v0.10.0 — A hardware-independent uVisor

07 Mar 16:23
Compare
Choose a tag to compare

Improved build system

  • Reduced need for hardware-specific details.
  • Introducing uVisor configurations: The set of hardware-specific details that
    defines a single uVisor release binary.
  • New centralized build system. A single make in the top folder builds all
    configurations for all platforms in release and debug mode.

New platforms

  • Now supporting the whole Cortex-M3 and Cortex-M4 based EFM32 family from
    Silicon Labs.

New features

  • New APIs to read current box ID and caller box ID.
  • New concept of box namespaces.
  • Add context switching features in UVISOR_DISABLED mode.
  • Extended SVCall handler table.
  • Global vMPU configurations for ARMv7-M: Shared vs. Standalone SRAM.
  • Make ACLs optional in secure box configuration.
  • [prototype] Debug boxes.

Bug fixes

  • Disable IRQ when releasing it.
  • Reset box contexts at initialization (ARMv7-M MPU driver).
  • Ensure asm operands are not optimized out in memory access macros.