Click here to start

Table of contents

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