Skip to content
/ vmmu Public

An implementation of the x86 MMU in C++

License

Notifications You must be signed in to change notification settings

blitz/vmmu

Repository files navigation

GitHub release stability-experimental GitHub GitHub commit activity Codecov

vMMU

Tihs repository contains an implementation of the x86 MMU in modern C++. It supports the following paging modes:

  • 64-bit 4-level paging,
  • 32-bit PAE paging,
  • 32-bit 2-level paging,
  • disabled paging.

This library has no dependencies beyond a C++ 17 toolchain.

Building

The library builds using CMake. I recommend using Ninja as generator, but Make works as well. To install the library into /usr/local, you could do:

% mkdir build
% cd build
% cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local
% ninja
% ninja install

Usage

The library is a bit light on documentation for now, but to get started checkout out the translate function in vmmu/vmmu.hpp. If you need caching support there is also a simple TLB class.