Book description
FreeBSD Device Drivers is the first and only book to teach readers how to develop device drivers for the FreeBSD operating system.
Table of contents
- FreeBSD Device Drivers
- About the Technical Reviewer
- Foreword
- Acknowledgments
- Introduction
- 1. Building and Running Modules
- 2. Allocating Memory
- 3. Device Communication and Control
-
4. Thread Synchronization
- A Simple Synchronization Problem
- A More Complex Synchronization Problem
- Preventing Race Conditions
- Mutexes
- Mutex Management Routines
- Implementing Mutexes
- Shared/Exclusive Locks
- Shared/Exclusive Lock Management Routines
- Implementing Shared/Exclusive Locks
- Reader/Writer Locks
- Reader/Writer Lock Management Routines
- Condition Variables
- Condition Variable Management Routines
- General Guidelines
- Conclusion
- 5. Delaying Execution
- 6. Case Study: Virtual Null Modem
- 7. Newbus and Resource Allocation
- 8. Interrupt Handling
-
9. Case Study: Parallel Port Printer Driver
-
Code Analysis
- lpt_identify Function
- lpt_probe Function
- lpt_detect Function
- lpt_port_test Function
- lpt_attach Function
- lpt_detach Function
- lpt_open Function
- lpt_read Function
- lpt_write Function
- lpt_intr Function
- lpt_timeout Function
- lpt_push_bytes Function
- lpt_close Function
- lpt_ioctl Function
- lpt_request_ppbus Function
- lpt_release_ppbus Function
- Conclusion
-
Code Analysis
- 10. Managing and Using Resources
- 11. Case Study: Intelligent Platform Management Interface Driver
- 12. Direct Memory Access
- 13. Storage Drivers
- 14. Common Access Method
-
15. USB Drivers
- About USB Devices
- More About USB Devices
- USB Configuration Structures
- USB Transfers (in FreeBSD)
- USB Configuration Structure Management Routines
- USB Methods Structure
-
Tying Everything Together
- ulpt_probe Function
- ulpt_attach Function
- ulpt_detach Function
- ulpt_open Function
- ulpt_reset Function
- unlpt_open Function
- ulpt_close Function
- ulpt_ioctl Function
- ulpt_watchdog Function
- ulpt_start_read Function
- ulpt_stop_read Function
- ulpt_start_write Function
- ulpt_stop_write Function
- ulpt_write_callback Function
- ulpt_read_callback Function
- ulpt_status_callback Function
- Conclusion
- 16. Network Drivers, Part 1: Data Structures
- 17. Network Drivers, Part 2: Packet Reception and Transmission
- References
- Index
- About the Author
- Colophon
- A. UPDATES
Product information
- Title: FreeBSD Device Drivers
- Author(s):
- Release date: April 2012
- Publisher(s): No Starch Press
- ISBN: 9781593272043
You might also like
book
Embedded Linux
Embedded Linux provides the reader the information needed to design, develop, and debug an embedded Linux …
book
Designing BSD Rootkits
Though rootkits have a fairly negative image, they can be used for both good and evil. …
book
Linux for Embedded and Real-time Applications, 4th Edition
Linux for Embedded and Real-Time Applications, Fourth Edition, provides a practical introduction to the basics, covering …
book
Embedded System Interfacing
Embedded System Interfacing: Design for the Internet-of-Things (IoT) and Cyber-Physical Systems (CPS) takes a comprehensive approach …