Intel's VT-x / VT-d APIs for the Bareflank hypervisor
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Extended APIs


GitHub Version Build Status Build status codecov Codacy Badge CII Best Practices Join the chat at https://gitter.im/Bareflank-hypervisor/Lobby

Description

The Bareflank Hypervisor is an open source, hypervisor Software Development Toolkit (SDK), led by Assured Information Security, Inc. (AIS), that provides a set of APIs needed to rapidly prototype and create new hypervisors. To ease development, Bareflank is written in C/C++, and includes support for C++ exceptions, JSON, the GSL and the C++ Standard Template Library (STL).

The purpose of this repository, is to provide an extended set of APIs to build your hypervisors from. Some of these APIs include:

  • MSR / IO Bitmaps
  • VPID / Extended Page Tables (EPT)
  • Monitor Traps
  • Virtual APIC / Interrupt Management
  • Improved UEFI support

Compilation / Usage

To setup our extension, run the following:

git clone https://github.com/Bareflank/hypervisor
git clone https://github.com/Bareflank/extended_apis
mkdir build; cd build
cmake ../hypervisor -DDEFAULT_VMM=eapis_vmm -DEXTENSION=../extended_apis
make -j<# cores + 1>

To test out our extended version of Bareflank, run the following commands:

make driver_quick
make quick

to reverse this:

make unload
make driver_unload

Links

Bareflank Hypervisor Website
Bareflank Hypervisor API Documentation

License

The Bareflank Hypervisor is licensed under the GNU Lesser General Public License v2.1 (LGPL).