paging-calculator

Crates.iopaging-calculator
lib.rspaging-calculator
version0.4.0
sourcesrc
created_at2022-11-30 17:05:19.46041
updated_at2024-08-09 11:24:26.951406
descriptionCLI utility that helps you to calculate indices into the page table from a virtual address. The tool knows multiple paging implementations, such as x86, x86 with PAE, x86_64 and x86_64 with a 5-level page table.
homepagehttps://github.com/phip1611/paging-calculator
repositoryhttps://github.com/phip1611/paging-calculator
max_upload_size
id726317
size241,379
Philipp Schuster (phip1611)

documentation

https://docs.rs/paging-calculator

README

Paging Address Calculator

paging-calculator is a CLI utility written in Rust that helps you find the indices that a virtual address will have on different architectures or paging implementations.

It takes a (virtual) address in hexadecimal format and shows you which index will be used for what page-table level. It can be installed with $ cargo install paging-calculator.

Valid inputs are:

  • $ paging-calculator 0x1337
  • $ paging-calculator 0xdead_beef (underscores are accepted)
  • $ paging-calculator 0xdead_beef x86 --pae (underscores are accepted)
  • $ paging-calculator 0xdead_beef x86_64

Type $ paging-calculator help to get a list of all supported options.

The following screenshot summarizes its functionality:

Screenshot showing the usage of paging-calculator.

Supported Platforms

paging-calculator builds and runs on Linux, macOS, and Windows.

MSRV

The MSRV is 1.75.0 stable.

Trivia

I worked on a project where I need to set up page-tables on my own. I had a few problems to find out what I actually have to do and what indices are used at which level. With the help of this utility, this task becomes quite easy.

Commit count: 18

cargo fmt