GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - google/dtoolkit: A Rust library for parsing and manipulating Flattened Device Tree (FDT) blobs.

BranchesTags
Open more actions menu

Latest commit

 

History

96 Commits
96 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
fuzz
fuzz
 
 
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Cargo.toml
Cargo.toml
 
 
LICENSE
LICENSE
 
 
LICENSE-APACHE
LICENSE-APACHE
 
 
LICENSE-MIT
LICENSE-MIT
 
 
README.md
README.md
 
 
cliff.toml
cliff.toml
 
 
clippy.toml
clippy.toml
 
 
rustfmt.toml
rustfmt.toml
 
 

Repository files navigation

dtoolkit

Rust CI crates.io Documentation codecov

A library for parsing and manipulating Flattened Device Tree (FDT) blobs.

This library provides a comprehensive API for working with FDTs, including:

  • An in-place API for parsing, traversing, and modifying FDTs without memory allocation.
  • An intermediate representation API for creating and modifying FDTs using computationally efficient data structures.
  • Support for applying device tree overlays.
  • Outputting device trees in DTS source format.

The library is written purely in Rust and is #![no_std] compatible. If you don't need the Device Tree manipulation functionality, the library is also no-alloc-compatible.

Getting Started

Real-world examples of how to use the library, including parsing, editing in-place, and applying device tree overlays, can be found in the API documentation.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE for details.

Contributing

If you want to contribute to the project, see details of how we accept contributions.

Fuzzing

Fuzzing helps prevent unexpected panics and ensures correct behavior on unexpected inputs. The project uses cargo-fuzz, which is not part of the default Rust installation. It is recommended to run the relevant fuzzer for a while before pushing a change.

Install cargo-fuzz with:

cargo +nightly install cargo-fuzz

Run a fuzz target by name from the repository root:

cargo +nightly fuzz run <fuzzer name>

For example, to run the parse fuzzer:

cargo +nightly fuzz run parse

Disclaimer

This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.

About

A Rust library for parsing and manipulating Flattened Device Tree (FDT) blobs.

crates.io/crates/dtoolkit

Topics

device-treeparserrust

Resources

Readme

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

22 stars

Watchers

2 watching

Forks

8 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.