2 releases
0.1.1 | Apr 26, 2023 |
---|---|
0.1.0 | Apr 26, 2023 |
#563 in Operating systems
331 downloads per month
Used in libhermit-rs
24KB
301 lines
hermit-dtb
Crate to parse Flattened Device Trees (FDT)/Device Tree Blobs (DTB) in a no_std
environment.
Performs no dynamic memory allocations and can therefore be universally used for operating system development.
Originally written for the AArch64 port of HermitCore-rs, hence the name.
Features
- Enumerating subnodes of a given path.
- Enumerating properties of a given path.
- Getting the data of a specific property.
- Finding incomplete paths (e.g. looking for
/uart@
reliably yields/uart@fe001000
if that is the only UART device). - Written in mostly safe Rust.
unsafe
is only used when accessing the in-memory DTB in the first place (unavoidable) and for performance reasons (e.g.str::from_utf8_unchecked
). parse_dtb
example tool to demonstrate the features.
ToDo
- Implement an iterator for the memory reservation block.
- Implement a method to fetch the
boot_cpuid_phys
value.
References
Contact
The hermit-dtb crate has been written by Colin Finck (colin.finck@rwth-aachen.de).