Skip to content
This repository was archived by the owner on Jun 23, 2026. It is now read-only.
hermit-osPublic archive

About

Crate to parse Flattened Device Trees (FDT)/Device Tree Blobs (DTB) in a no_std environment.

Resources

Stars

6 stars

Watchers

2 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

Important

This project is dormant, and the repository is archived. Use another crate, such as fdt, for device tree parsing.

hermit-dtb

Documentation License

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 by Colin Finck (colin.finck@rwth-aachen.de) 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).
  • 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

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Crate to parse Flattened Device Trees (FDT)/Device Tree Blobs (DTB) in a no_std environment.

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages