Bareflank, a toolkit for rapid development of specialized hypervisors

bareflank It is written in C ++ and is compatible with C ++ STL. Bareflank's modular architecture allows you to easily expand existing hypervisor capabilities and create your own hypervisor versions, both running on hardware (like Xen) and in an existing software environment (like VirtualBox). You can run the host environment operating system in a separate virtual machine. The project code is distributed under the LGPL 2.1 license.

About Bareflank

Bareflank supports Linux, Windows, and UEFI on 64-bit Intel and AMD CPUs. Intel VT-x technology is used for hardware sharing of virtual machine resources. In the future, compatibility with macOS and BSD systems, as well as the ability to work on the ARM64 platform, are envisaged.

In addition, the project develops its own controller to load VMM (Virtual Machine Manager), an ELF charger to load VVM modules and a bfm app to manage the hypervisor from user space.

Based on Bareflank, the Boxy is being developed virtualization system, which supports the launch of guest systems y enables the use of lightweight virtual machines with Linux and Unikernel to launch specialized services or applications.

In the form of isolated services, can run ordinary web services and applications that have special reliability requirements and security, without the influence of the host environment (the host environment is isolated in a separate virtual machine). Bareflank is also at the heart of the MicroV hypervisor, designed to run minimalist virtual machines (single application virtual machine), implementing the KVM API, and suitable for building mission-critical systems.

A toolkit for writing extensions is provided for your use. using elements defined in the C ++ 11/14 specifications, a library to unwind the exception stack (unwind), as well as its own run-time library to support the use of constructors / destructors and log handler exceptions.

As for the main innovations of the new version of Bareflank 3.0 the following stand out:

  • Transition to the microkernel concept. Previously, the hypervisor had a monolithic architecture, where to extend the functionality, it had to use a special API to record callback calls, which made extension development difficult due to binding to the C ++ language and device internal.
  • The new microkernel architecture separates the hypervisor into kernel components that run on ring zero and extensions that run on third ring (user space). Both parts run in VMX root mode and everything else, including the host environment, in non-root VMX mode.
  • User space extensions implement Virtual Machine Manager (VMM) functionality and interact with the hypervisor kernel through backward compatible system calls. Extensions can be created in any programming language, including using the Rust language, for which ready-to-use extension examples are provided.
  • It has transitioned to using its own BSL library with Rust and C ++ support, replacing the external libc ++ and newlib libraries. Removing external dependencies allowed Bareflank to implement native build support on Windows to simplify development on this platform.
  • Bareflank now comes with support for AMD. Additionally, Bareflank development now takes place on a system with an AMD CPU and only then does it move to an Intel CPU, ensuring that development for AMD is taken seriously.
  • The loader has added support for the ARMv8 architecture, the hypervisor adaptation of which will be completed in a future release.
    Compliance with AUTOSAR and MISRA mission critical system design requirements.

Finally if you are interested in knowing more about it, you can consult the details in the following link.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.