Crates.io | paging-calculator |
lib.rs | paging-calculator |
version | 0.4.0 |
source | src |
created_at | 2022-11-30 17:05:19.46041 |
updated_at | 2024-08-09 11:24:26.951406 |
description | CLI 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. |
homepage | https://github.com/phip1611/paging-calculator |
repository | https://github.com/phip1611/paging-calculator |
max_upload_size | |
id | 726317 |
size | 241,379 |
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:
paging-calculator
builds and runs on Linux, macOS, and Windows.
The MSRV is 1.75.0
stable.
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.