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.
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
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.