Book description
This book is for anyone who wants to support computer peripherals under the Linux operating system or who wants to develop new hardware and run it under Linux. Linux is the fastest-growing segment of the UNIX market and is winning over enthusiastic adherents in many application areas. This book reveals information that heretofore has been passed by word-of-mouth or in cryptic source code comments, showing how to write a driver for a wide range of devices. You don't have to be a kernel hacker to understand and enjoy this book; all you need is an understanding of C and some background in UNIX system calls. Drivers for character devices, block devices, and network interfaces are all described in step-by-step form and are illustrated with full-featured examples that show driver design issues, which can be executed without special hardware. For those who are curious about how an operating system does its job, this book provides insights into address spaces, asynchronous events, and I/O. Portability is a major concern in the text. The book is centered on version 2.0, but also covers 1.2.13 and experimental versions up to 2.1.43. You are also told how to maximize portability among hardware platforms. Contents include:
Building a driver and loading modules
Complete character, block, and network drivers
Debugging a driver
Timing
Memory management and DMA
Interrupts
Portability issues
Peripheral Component Interconnect (PCI)
A tour of kernel internals
Table of contents
-
Linux Device Drivers
- Preface
- 1. An Introduction to the Linux Kernel
- 2. Building and Running Modules
- 3. Char Drivers
- 4. Debugging Techniques
- 5. Enhanced Char Driver Operations
- 6. Flow of Time
- 7. Getting Hold of Memory
- 8. Hardware Management
- 9. Interrupt Handling
- 10. Judicious Use of Data Types
- 11. Kerneld and Advanced Modularization
- 12. Loading Block Drivers
- 13. Mmap and DMA
-
14. Network Drivers
- How snull Is Designed
- Connecting to the Kernel
- The device Structure in Detail
- Opening and Closing
- Packet Transmission
- Packet Reception
- Interrupt-Driven Operation
- The Socket Buffers
- Address Resolution
- Load-Time Configuration
- Run-Time Configuration
- Custom ioctl Commands
- Statistical Information
- Multicasting
- Quick Reference
- 15. Overview of Peripheral Buses
- 16. Physical Layout of the Kernel Source
- 17. Recent Developments
- Index
- Colophon
Product information
- Title: Linux Device Drivers
- Author(s):
- Release date: February 1998
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781565922921
You might also like
book
Essential Linux Device Drivers
“Probably the most wide ranging and complete Linux device driver book I’ve read.” --Alan Cox, Linux …
book
Linux Device Drivers, Second Edition
This book is for anyone who wants to support computer peripherals under the Linux operating system …
book
Linux Device Drivers Development
Learn to develop customized device drivers for your embedded Linux system About This Book Learn to …
book
Linux Device Driver Development - Second Edition
Get up to speed with the most important concepts in driver development and focus on common …