m4mbr3 / extended_apis

Intel's VT-x / VT-d APIs for the Bareflank hypervisor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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_bfvmm -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 Extended APIs is licensed under the MIT License.

About

Intel's VT-x / VT-d APIs for the Bareflank hypervisor

License:MIT License


Languages

Language:C++ 93.4%Language:CMake 4.7%Language:Shell 1.5%Language:C 0.4%