I

I/O, Blocking I/OTesting the Scullpipe Driver, Flushing pending output, Flushing pending output, I/O Ports and I/O Memoryisa_readb and Friends, I/O Registers and Conventional Memory, String Operations, Pausing I/O, Pausing I/O, Using I/O Memory, I/O Memory Allocation and Mapping, Quick Reference, Interrupt-Driven I/OA Write-Buffering Example, PCI Addressing, Accessing the I/O and Memory Spaces, Accessing the I/O and Memory Spaces, Remapping Specific I/O Regions, Performing Direct I/OAn asynchronous I/O example, Asynchronous I/OAn asynchronous I/O example, Implementing Direct I/O, Request Queues, Scatter/Gather I/O
asynchronous, Asynchronous I/OAn asynchronous I/O example
blocking, Blocking I/OTesting the Scullpipe Driver
direct, Performing Direct I/OAn asynchronous I/O example, Implementing Direct I/O
flushing pending, Flushing pending output
generic address spaces, Accessing the I/O and Memory Spaces
hardware management, I/O Ports and I/O Memoryisa_readb and Friends
interrupt handlers, Interrupt-Driven I/OA Write-Buffering Example
mapping, I/O Memory Allocation and Mapping, Quick Reference
memory (access), Using I/O Memory
pausing, Pausing I/O, Pausing I/O
PCI, PCI Addressing, Accessing the I/O and Memory Spaces
regions, Remapping Specific I/O Regions
registers, I/O Registers and Conventional Memory
scatter/gather, Scatter/Gather I/O
schedulers, Request Queues
string operations, String Operations
I/O registers versus RAM, I/O Registers and Conventional Memory
I2O drivers, Classes of Devices and Modules
IA-64 architecture, Platform Dependencies, The /proc Interface
porting and, Platform Dependencies
/proc/interrupts file, snapshot of, The /proc Interface
IEEE1394 bus (Firewire), IEEE1394 (FireWire)
if.h header file, Interface Information, Custom ioctl Commands
ifconfig command, Hardware Information, Opening and ClosingOpening and Closing
net_device structure and, Hardware Information
opening network drivers, Opening and ClosingOpening and Closing
IFF_ symbols, Interface Information, Kernel Support for Multicasting
IFF_ALLMULTI flag, Interface Information
IFF_AUTOMEDIA flag, Interface Information
IFF_BROADCAST flag, Interface Information
IFF_DEBUG flag, Interface Information
IFF_DYNAMIC flag, Interface Information
IFF_LOOPBACK flag, Interface Information
IFF_MASTER flag, Interface Information
IFF_MULTICAST flag, Interface Information
IFF_NOARP flag, Initializing Each Device, Interface Information
IFF_NOTRAILERS flag, Interface Information
IFF_POINTOPOINT flag, Interface Information
IFF_PORTSEL flag, Interface Information
IFF_PROMISC flag, Interface Information
IFF_RUNNING flag, Interface Information
IFF_SLAVE flag, Interface Information
IFF_UP flag, Interface Information
ifreq structure, Custom ioctl Commands
implementation, The Role of the Device Driver, Classes of Devices and Modules, Turning the Messages On and Off, Implementing files in /proc, The Linux Semaphore ImplementationReader/Writer Semaphores, The Implementation of the ioctl Commands, Seeking a Device, Busy waiting, The Implementation of Kernel Timers, Implementing a HandlerDisabling all interrupts, A Look Back: ISAThe Plug-and-Play Specification, Memory Management in LinuxHigh and Low Memory, Asynchronous I/O, Implementing mmap, Implementing Direct I/O, Supporting Removable Media, A Typical Implementation
asynchronous I/O, Asynchronous I/O
busy-waiting, Busy waiting
of classes, Classes of Devices and Modules
of debugging levels, Turning the Messages On and Off
direct I/O, Implementing Direct I/O
of files in /proc filesystems, Implementing files in /proc
interrupt handlers, Implementing a HandlerDisabling all interrupts
ioctl commands, The Implementation of the ioctl Commands
ISA (PCI), A Look Back: ISAThe Plug-and-Play Specification
llseek method, Seeking a Device
mmap, Memory Management in LinuxHigh and Low Memory, Implementing mmap
multicasting, A Typical Implementation
of policies, The Role of the Device Driver
removable media (supporting), Supporting Removable Media
semaphores, The Linux Semaphore ImplementationReader/Writer Semaphores
timers, The Implementation of Kernel Timers
inb function, Manipulating I/O ports
inb_p function, Pausing I/O
infinite loops, preventing, System Hangs
information leakage, Security Issues
init scripts and loading/unloading modules, Dynamic Allocation of Major Numbers
init.h header file, Quick Reference
initialization, Initialization and ShutdownModule-Loading Races, Char Device RegistrationThe Older Way, The Linux Semaphore Implementation, Reader/Writer Semaphores, Completions, seqlocks, Installing an Interrupt Handler, PCI Addressing, Configuration Registers and Initialization, Registering a USB Driver, Kobject initialization, The gendisk structure, Initialization in sbull, Device Registration, Initializing Each Device
completions (semaphores), Completions
devices, Initializing Each Device
gendisk structure, The gendisk structure
interrupt handlers, Installing an Interrupt Handler
kobjects, Kobject initialization
modules, Initialization and ShutdownModule-Loading Races
mutexes, The Linux Semaphore Implementation
net_device structure, Device Registration
PCI, PCI Addressing
reader/writer semaphores, Reader/Writer Semaphores
registers (PCI), Configuration Registers and Initialization
sbull drivers, Initialization in sbull
seqlocks, seqlocks
struct usb_driver structure, Registering a USB Driver
structures (registration), Char Device RegistrationThe Older Way
INIT_LIST_HEAD macro, Linked Lists
inl function, Manipulating I/O ports
inline assembly code (example), Processor-Specific Registers
inode pointer in ioctl method, ioctl
inode structure, The inode Structure
input devices (hotplugging), Input
input files, enabling asynchronous notification from, Asynchronous Notification
input module, The Kernel Symbol Table
input pins, Communicating with Hardware, An I/O Port Example, A Sample Driver
reading values from parallel port, A Sample Driver
insb function, String Operations
insl function, String Operations
insmod program, Loadable Modules, Loadable Modules, The Hello World Module, The Hello World Module, Loading and Unloading Modules, The Kernel Symbol Table, Module Parameters, Dynamic Allocation of Major Numbers
assigning parameter values, Module Parameters
dynamically allocating major numbers, Dynamic Allocation of Major Numbers
modprobe program versus, The Kernel Symbol Table
testing modules using, The Hello World Module
installation, Setting Up Your Test System, Installing an Interrupt HandlerThe internals of interrupt handling on the x86, Installing a Shared Handler
interrupt handlers, Installing an Interrupt HandlerThe internals of interrupt handling on the x86, Installing a Shared Handler
mainline kernels, Setting Up Your Test System
insw function, String Operations
int actual_length field (USB), struct urb
int data type, Use of Standard C Types
int error_count field (USB), struct urb
int field, Registering a PCI Driver, Global Information
net_device structure, Global Information
PCI registration, Registering a PCI Driver
int flags field (gendisk), The gendisk structure
int function (USB), Registering a USB Driver
int interval field (USB), struct urb
int major field (gendisk), The gendisk structure
int minor field (USB), Interfaces
int minors field (gendisk), The gendisk structure
int minor_base variable (USB), probe and disconnect in Detail
int number_of_packets field (USB), struct urb
int pci_enable_device function, Enabling the PCI Device
int seq_escape function, The seq_file interface
int seq_path function, The seq_file interface
int seq_printf function, The seq_file interface
int seq_putc function, The seq_file interface
int seq_puts function, The seq_file interface
int start_frame field (USB), struct urb
int status field (USB), struct urb
int transfer_buffer_length field (USB), struct urb
INTERFACE variable, USB
interface-specific data types, Interface-Specific Types
interfaces, Classes of Devices and Modules, Version Dependency, The Cleanup Function, The Older Way, An older interface, The seq_file interfaceThe seq_file interface, Reader/Writer Semaphores, Introduction to the Spinlock API, The Timer API, The alloc_pages Interface, Preparing the Parallel Port, Interface-Specific Types, The PCI InterfaceHardware Abstractions, VLB, Interfaces, Configurations, Operations on ksets, The class_simple Interface, The Full Class Interface, Class interfaces, The Kernel Firmware Interface, RegistrationA Note on Sector Sizes, The Block Device OperationsThe ioctl Method, Request ProcessingDoing without a request queue, Command Pre-Preparation, Tagged Command QueueingTagged Command Queueing, Quick ReferenceQuick Reference, How snull Is DesignedThe Physical Transport of Packets, How snull Is Designed, Interface Information, Interface Information, Media Independent Interface Support
alloc_pages, The alloc_pages Interface
block drivers, RegistrationA Note on Sector Sizes, The Block Device OperationsThe ioctl Method, Request ProcessingDoing without a request queue, Command Pre-Preparation, Tagged Command QueueingTagged Command Queueing, Quick ReferenceQuick Reference
command pre-preparation, Command Pre-Preparation
functions, Quick ReferenceQuick Reference
operations, The Block Device OperationsThe ioctl Method
registration, RegistrationA Note on Sector Sizes
request processing, Request ProcessingDoing without a request queue
TCQ, Tagged Command QueueingTagged Command Queueing
classes, Class interfaces
class_simple, The class_simple Interface
cleanup function, The Cleanup Function
configuration (USB), Configurations
firmware, The Kernel Firmware Interface
flags for net_device structure, Interface Information
full class, The Full Class Interface
interface-specific data types, Interface-Specific Types
ksets, Operations on ksets
loopback, How snull Is Designed
MII, Media Independent Interface Support
networks, Classes of Devices and Modules
non-Ethernet, Interface Information
older, The Older Way, An older interface
char device registration, The Older Way
/proc file implementation, An older interface
parallel ports, Preparing the Parallel Port (see parallel ports)
PCI, The PCI InterfaceHardware Abstractions
reader/writer semaphores, Reader/Writer Semaphores
seq_file, The seq_file interfaceThe seq_file interface
snull, How snull Is DesignedThe Physical Transport of Packets
spinlocks, Introduction to the Spinlock API
timers, The Timer API
USB, Interfaces
version dependency, Version Dependency
VLB, VLB
internal functions (locking), Ambiguous Rules
internal representation of device numbers, The Internal Representation of Device Numbers
Internet protocol (IP), Network Drivers
interrupt handlers, Autodetecting the IRQ Number, The /proc Interface and Shared Interrupts
autodetecting IRQ numbers, Autodetecting the IRQ Number
sharing interrupts, The /proc Interface and Shared Interrupts
interrupt mode, Kernel Timers, TaskletsTasklets
and asynchronous execution, Kernel Timers
tasklets, TaskletsTasklets
interruptible sleeps, Manual sleeps
interrupts, Measuring Time Lapses, Preparing the Parallel Port, Installing an Interrupt HandlerThe internals of interrupt handling on the x86, Installing an Interrupt Handler, Installing an Interrupt Handler, The /proc Interface, The /proc Interface, Implementing a HandlerDisabling all interrupts, Top and Bottom HalvesWorkqueues, Tasklets, Interrupt SharingThe /proc Interface and Shared Interrupts, The /proc Interface and Shared Interrupts, Interrupt-Driven I/OA Write-Buffering Example, Quick Reference, Quick Reference, PCI Interrupts, Interrupt urbs, The Interrupt Handler, The Interrupt Handler, Receive Interrupt Mitigation, Flow of Data, ioctls
counts, ioctls
file, The /proc Interface
handlers, Preparing the Parallel Port, Installing an Interrupt HandlerThe internals of interrupt handling on the x86, The /proc Interface, Implementing a HandlerDisabling all interrupts, Top and Bottom HalvesWorkqueues, Tasklets, Interrupt SharingThe /proc Interface and Shared Interrupts, Interrupt-Driven I/OA Write-Buffering Example, Quick Reference, Quick Reference, The Interrupt Handler
I/O, Interrupt-Driven I/OA Write-Buffering Example
implementation of, Implementing a HandlerDisabling all interrupts
installation of, Installing an Interrupt HandlerThe internals of interrupt handling on the x86
management, Quick Reference
for network drivers, The Interrupt Handler
preparing parallel ports, Preparing the Parallel Port
/proc files for, The /proc Interface
registration, Quick Reference
sharing, Interrupt SharingThe /proc Interface and Shared Interrupts
tasklets, Tasklets
top and bottom halves, Top and Bottom HalvesWorkqueues
installation at, Installing an Interrupt Handler
mitigation of, Receive Interrupt Mitigation
for network drivers, The Interrupt Handler
PCI, PCI Interrupts
reports, Installing an Interrupt Handler
shared interrupts and, The /proc Interface and Shared Interrupts
timers, Measuring Time Lapses
tty drivers, Flow of Data
urbs, Interrupt urbs
intervals of time (data type portability), Time Intervals
intptr_t type (C99 standard), Use of Standard C Types
inw function, Manipulating I/O ports
in_atomic function, Kernel Timers
in_interrupt function, Kernel Timers
ioctl commands (creating), Quick Reference
ioctl function (tty drivers), ioctls
ioctl method, File Operations, Redirecting Console Messages, The ioctl Method, ioctlDevice Control Without ioctl, Choosing the ioctl Commands, Device Control Without ioctl, The ioctl Method, The Device Methods, Custom ioctl Commands
using bitfields to define commands, Choosing the ioctl Commands
block drivers, The ioctl Method
controlling devices without, Device Control Without ioctl
customizing for networking, Custom ioctl Commands
debugging with, The ioctl Method
network devices and, The Device Methods
TIOCLINUX command, Redirecting Console Messages
ioctl-number.txt file, Choosing the ioctl Commands
ioctl.h header file, Choosing the ioctl Commands, Choosing the ioctl Commands, Quick Reference
setting up command numbers, Choosing the ioctl Commands
_IOC_NRBITS macro, Quick Reference, Quick Reference, Quick Reference, Quick Reference
IOMMU (I/O memory management unit), Address Types, DMA mappings
ioremap, vmalloc and Friends
ioremap function, vmalloc and Friends, Using I/O Memory, Quick Reference
ioremap_nocache function, I/O Memory Allocation and Mapping
iounmap function, vmalloc and Friends, I/O Memory Allocation and Mapping
IP (Internet protocol), Network Drivers
IP numbers resolving to physical addresses, MAC Address Resolution
ip_summed field (sk_buff), Packet Reception, The Important Fields
irq argument (interrupt number), Installing an Interrupt Handler
irq.h header file, Do-it-yourself probing
irqreturn_t function, Installing an Interrupt Handler
IRQs (interrupt request lines), The /proc Interface, Autodetecting the IRQ Number
autodetecting, Autodetecting the IRQ Number
statistics on, The /proc Interface
ISA, Pausing I/O, ISA Memory Below 1 MB, ISA Memory Below 1 MB, A Look Back: ISAThe Plug-and-Play Specification, DMA for ISA DevicesTalking to the DMA controller, DMA for ISA Devices, DMA for ISA DevicesTalking to the DMA controller
bus master DMA, DMA for ISA Devices
devices, DMA for, DMA for ISA DevicesTalking to the DMA controller
I/O (pausing devices), Pausing I/O
memory (access), ISA Memory Below 1 MB, ISA Memory Below 1 MB, DMA for ISA DevicesTalking to the DMA controller
below 1 MB, ISA Memory Below 1 MB
DMA for, DMA for ISA DevicesTalking to the DMA controller
PCI, A Look Back: ISAThe Plug-and-Play Specification
isa_readb function, isa_readb and Friends
ISOCHRONOUS endpoints (USB), Endpoints
isochronous urbs (USB), Isochronous urbs
iteration of buses, Iterating over devices and drivers
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset