Rust library to use x86 (amd64) specific functionality and registers.
See the codeLibrary to program x86 (amd64) hardware. Contains x86 specific data structure descriptions, data-tables, as well as convenience function to call assembly instructions typically not exposed in higher level languages.
Currently supports:
This library depends on libcore so it can be used in kernel level code.
We use two forms of tests for the crate. Regular tests with #[test] that run in a ring 3 process
and #[x86test] tests that run in a VM (and therefore grant a privileged execution environment, see x86test).
# To execute x86tests run:
$ RUSTFLAGS="-C relocation-model=dynamic-no-pic -C code-model=kernel" RUST_BACKTRACE=1 cargo test --features vmtest
# To execute the regular tests, run:
$ cargo test --features utest
1,185 followers · starred Nov 2015
336 followers · starred Apr 2019
152 followers · starred Jul 2021
902 followers · starred Mar 2021
Rust library to use x86 (amd64) specific functionality and registers.
See the codeLibrary to program x86 (amd64) hardware. Contains x86 specific data structure descriptions, data-tables, as well as convenience function to call assembly instructions typically not exposed in higher level languages.
Currently supports:
This library depends on libcore so it can be used in kernel level code.
We use two forms of tests for the crate. Regular tests with #[test] that run in a ring 3 process
and #[x86test] tests that run in a VM (and therefore grant a privileged execution environment, see x86test).
# To execute x86tests run:
$ RUSTFLAGS="-C relocation-model=dynamic-no-pic -C code-model=kernel" RUST_BACKTRACE=1 cargo test --features vmtest
# To execute the regular tests, run:
$ cargo test --features utest
1,185 followers · starred Nov 2015
336 followers · starred Apr 2019
152 followers · starred Jul 2021
902 followers · starred Mar 2021