Skip to content
Writing code that generates device trees
Writing code that generates device trees

Hey, you found me.

By day, I write and edit articles about enterprise technology. When I'm not working, this is the sort of thing that keeps me occupied:

  • 🔭 I’m finalizing Device Tree support in my Rust-RISC-V bare-metal hypervisor, diosix, so that it can define virtual environments in which Linux and other guest kernels boot.

    • So far, it parses Device Tree Blobs provided by the bootloader, so that it is aware of the host hardware and brings up the system.
    • Now, it needs to create blobs to pass to guest kernels.
    • The next step will be to add basic hardware drivers with multiplexing so that multiple virtual machines can share or exclusively use resources, such as the serial port, network interface, and video display.
  • 🌱 I’m learning:

    • Chinese as a second language;
    • How to configure, simulate, and verify FPGA and ASIC designs using nMigen, SystemVerilog, and related tooling; and
    • How to use Kubernetes and the tools in its orbit to orchestrate workloads at scale.
  • 👯 I’m looking to collaborate on writing and editing technical documentation. If you have an open-source project that needs documenting, send me a message.

  • 🤔 I’m looking for help with porting diosix to other CPU architectures, such as OpenPower and Arm, and I will need help with device drivers and building a user interface to manage the hypervisor and its guests.

  • 💬 Ask me about Rust, RISC-V, operating system and hypervisor design, computer security, and professional writing and editing. My personal website has some more information about myself and links to things I do.

  • 📫 How to reach me: Twitter or email.

  • 😄 Pronouns: He and him.

  • Fun fact: Um, my eyes are two different colors? I'm quietly fascinated by nuclear physics, and the internal design of video game consoles I played as a child.


  1. A lightweight, secure, multiprocessor bare-metal hypervisor written in Rust for RISC-V

    Rust 73 6

  2. Diosix platform-specific code for RISC-V systems

    Rust 1

  3. Read and write device tree blob (DTB) data

    Rust 1

54 contributions in the last year

Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Mon Wed Fri
Activity overview
Contributed to diodesign/diosix, diodesign/, diodesign/platform-riscv and 5 other repositories

Contribution activity

July 2020

Seeing something unexpected? Take a look at the GitHub profile guide.

You can’t perform that action at this time.