Note: Supplemental materials are not guaranteed with Rental or Used book purchases.
Purchase Benefits
What is included with this book?
Sreekrishnan Venkateswaran has spent more than a decade working in IBM product development laboratories. He has ported Linux to devices ranging from wristwatches and music players to PDAs, VoIP phones, and even pacemaker programmers. He was a Contributing Editor and kernel columnist for Linux Magazine for more than two years.
Foreword | |
Preface | |
Acknowledgments | p. xxix |
About the Author | p. xxx |
Introduction | p. 1 |
Evolution | p. 2 |
The GNU Copyleft | p. 3 |
Kernelorg | p. 4 |
Mailing Lists and Forums | p. 4 |
Linux Distributions | p. 5 |
Looking at the Sources | p. 6 |
Building the Kernel | p. 10 |
Loadable Modules | p. 12 |
Before Starting | p. 14 |
A Peek Inside the Kernel | p. 17 |
Booting Up | p. 18 |
Kernel Mode and User Mode | p. 30 |
Process Context and Interrupt Context | p. 30 |
Kernel Timers | p. 31 |
HZ and Jiffies | p. 31 |
Long Delays | p. 33 |
Short Delays | p. 36 |
Pentium Time Stamp Counter | p. 36 |
Real Time Clock | p. 37 |
Concurrency in the Kernel | p. 39 |
Spinlocks and Mutexes | p. 39 |
Atomic Operators | p. 45 |
Reader-Writer Locks | p. 46 |
Debugging | p. 48 |
Process Filesystem | p. 49 |
Allocating Memory | p. 49 |
Looking at the Sources | p. 52 |
Kernel Facilities | p. 55 |
Kernel Threads | p. 56 |
Creating a Kernel Thread | p. 56 |
Process States and Wait Queues | p. 61 |
User Mode Helpers | p. 63 |
Helper Interfaces | p. 65 |
Linked Lists | p. 65 |
Hash Lists | p. 72 |
Work Queues | p. 72 |
Notifier Chains | p. 74 |
Completion Interface | p. 78 |
Kthread Helpers | p. 81 |
Error-Handling Aids | p. 83 |
Looking at the Sources | p. 85 |
Laying the Groundwork | p. 89 |
Introducing Devices and Drivers | p. 90 |
Interrupt Handling | p. 92 |
Interrupt Context | p. 92 |
Assigning IRQs | p. 94 |
Device Example: Roller Wheel | p. 94 |
Softirqs and Tasklets | p. 99 |
The Linux Device Model | p. 103 |
Udev | p. 103 |
Sysfs, Kobjects, and Device Classes | p. 106 |
Hotplug and Coldplug | p. 110 |
Microcode Download | p. 111 |
Module Autoload | p. 112 |
Memory Barriers | p. 114 |
Power Management | p. 114 |
Looking at the Sources | p. 115 |
Character Drivers | p. 119 |
Char Driver Basics | p. 120 |
Device Example: System CMOS | p. 121 |
Driver Initialization | |
Open and Release | |
Exchanging Data | |
Seek | |
Control | |
Sensing Data Availability | |
Poll | |
Fasync | |
Talking to the Parallel Port | |
Device Example: Parallel Port LED Board | |
RTC Subsystem | |
Pseudo Char Drivers | |
Misc Drivers | |
Device Example: Watchdog Timer | |
Character Caveats | |
Looking at the Sources | |
6556_Bookindb i6556_ix 3/4/08 9:31:21 AM | |
Serial Drivers | p. 171 |
Layered Architecture | p. 173 |
UART Drivers | p. 176 |
Device Example: Cell Phone | p. 178 |
RS-485 | p. 191 |
TTY Drivers | p. 192 |
Line Disciplines | p. 194 |
Device Example: Touch Controller | p. 195 |
Looking at the Sources | p. 205 |
Input Drivers | p. 207 |
Input Event Drivers | p. 210 |
The Evdev Interface | p. 210 |
Input Device Drivers | p. 216 |
Serio | p. 217 |
Keyboards | p. 217 |
Mice | p. 220 |
Touch Controllers | p. 227 |
Accelerometers | p. 228 |
Output Events | p. 228 |
Debugging | p. 230 |
Looking at the Sources | p. 231 |
The Inter-Integrated Circuit Protocol | p. 233 |
Whats I2C/SMBus? | p. 234 |
I2C Core | p. 235 |
Bus Transactions | p. 237 |
Device Example: EEPROM | p. 238 |
Initializing | p. 238 |
Probing the Device | p. 241 |
Checking Adapter Capabilities | p. 244 |
Accessing the Device | p. 244 |
More Methods | p. 246 |
Device Example: Real Time Clock | p. 247 |
I2C-dev | p. 251 |
Hardware Monitoring Using LM-Sensors | p. 251 |
The Serial Peripheral Interface Bus | p. 251 |
The 1-Wire Bus | p. 254 |
Debugging | p. 254 |
Looking at the Sources | p. 255 |
PCMCIA and Compact Flash | p. 257 |
Whats PCMCIA/CF? | p. 258 |
Linux-PCMCIA Subsystem | p. 260 |
Host Controller Drivers | p. 262 |
PCMCIA Core | p. 263 |
Driver Services | p. 263 |
Client Drivers | p. 264 |
Data Structures | p. 264 |
Device Example: PCMCIA Card | p. 267 |
Tying the Pieces Together | p. 271 |
PCMCIA Storage | p. 272 |
Serial PCMCIA | p. 272 |
Debugging | p. 273 |
Looking at the Sources | p. 275 |
Peripheral Comp | |
Table of Contents provided by Publisher. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.