Your friend and mine, super-hacker Brian Swetland, walks you through the major steps along the way of a five-day journey going from nothing to having a functional NVME driver for Zircon (formerly Fuchsia). There are links to the relevant Gerrit reviews for each stage of the project. As he puts it,
The end results are a (possibly interesting) window into how I go from a zero to functional driver. The first section presents the very first shell of a driver I checked in. Each following section shows the diffs from the version preceeding it to that version of the driver. These focus on nvme.c, the guts of the driver, but nvme-hw.h (the header file with registers and structures and such) and rules.mk (the Zircon build system file) are also present.
Your friend and mine, super-hacker Brian Swetland, walks you through the major steps along the way of a five-day journey going from nothing to having a functional NVME driver for Zircon (formerly Fuchsia). There are links to the relevant Gerrit reviews for each stage of the project. As he puts it,
Fuchsia is still Fuchsia.
Zircon (the microkernel and core OS) was formerly called Magenta.
If you think of Fuchsia:Zircon::Android:LinuxKernel that’s a pretty close approximation.