Skip to content

Writing Your First Device Driver

Scaffolding

Look for a device interface in IDL

Goldfish RTC device 101

specification.

Detecting the device with Device Tree

Mapping MMIO registers

Avoid boring stuff with awesome public crates

Allocating DMA memory

Use MappedFolio::create to allocate a physically-contiguous memory block, and starina_driver_utils::buffer_pool::BufferPool to manage the allocated DMA space.

Handling hardware interrupts

Next Steps