Part II. Device Drivers

Table of Contents
9. Writing FreeBSD Device Drivers
9.1. Introduction
9.2. Dynamic Kernel Linker Facility - KLD
9.3. Character Devices
9.4. Block Devices (Are Gone)
9.5. Network Drivers
10. ISA Device Drivers
10.1. Synopsis
10.2. Basic Information
10.3. device_t Pointer
10.4. Configuration File and the Order of Identifying and Probing During Auto-Configuration
10.5. Resources
10.6. Bus Memory Mapping
10.7. DMA
10.8. xxx_isa_probe
10.9. xxx_isa_attach
10.10. xxx_isa_detach
10.11. xxx_isa_shutdown
10.12. xxx_intr
11. PCI Devices
11.1. Probe and Attach
11.2. Bus Resources
12. Common Access Method SCSI Controllers
12.1. Synopsis
12.2. General Architecture
12.3. Polling
12.4. Asynchronous Events
12.5. Interrupts
12.6. Errors Summary
12.7. Timeout Handling
13. USB Devices
13.1. Introduction
13.2. Host Controllers
13.3. USB Device Information
13.4. Device Probe and Attach
13.5. USB Drivers Protocol Information
14. Newbus
14.1. Device Drivers
14.2. Overview of Newbus
14.3. Newbus API
15. Sound Subsystem
15.1. Introduction
15.2. Files
15.3. Probing, Attaching, etc.
15.4. Interfaces
16. PC Card
16.1. Adding a Device

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.