Presentation Overview
Binary kernel modules
Strategy for binary modules
Initialization and Cleanup
PCI Driver Interface 1
PCI Driver Interface 2
Kernel module interface
Resource registration
PCI DMA Resources 1
PCI DMA Resources 2
Power Management
Programmed I/O (PIO)
Memory-mapped I/O 1
Memory-mapped I/O 2
Memory-mapped I/O "gotchas"
Spinlocks
Semaphores
Memory management 1
Memory Management 2
Sleeping 1
Sleeping 2: wait queues
Kernel Concurrency
Kernel Device Interfaces 1
Kernel Device Interfaces 2
Security
Driver Distribution
Conclusions
Author: Jeff Garzik
E-mail: jgarzik@pobox.com