A

abstractions (hardware), Hardware Abstractions
access, The Role of the Device Driver, Classes of Devices and Modules, Classes of Devices and Modules, Major and Minor NumbersDynamic Allocation of Major Numbers, Dynamic Allocation of Major Numbers, Concurrency and Its Management, Ambiguous Rules, seqlocks, Capabilities and Restricted Operations, Access Control on a Device File, Restricting Access to a Single User at a Time, Blocking open as an Alternative to EBUSY, Memory zones, Manipulating I/O ports, I/O Port Access from User Space, Using I/O Memory, Accessing I/O Memory, Reusing short for I/O Memory, ISA Memory Below 1 MB, Quick Reference, Quick Reference, PCI Addressing, Accessing the Configuration Space, Accessing the I/O and Memory Spaces, Embedding kobjects, Memory Mapping and DMA, The Memory Map and Struct Page
blocking open requests, Blocking open as an Alternative to EBUSY
character (char) drivers, Classes of Devices and Modules, Major and Minor NumbersDynamic Allocation of Major Numbers
to device files, Access Control on a Device File
DMA, Memory Mapping and DMA (see DMA)
to drivers, Dynamic Allocation of Major Numbers
I/O memory, Using I/O Memory, Accessing I/O Memory, Reusing short for I/O Memory
interfaces, Classes of Devices and Modules
ISA memory, ISA Memory Below 1 MB
kobjects, Embedding kobjects
locking, Ambiguous Rules
management, Concurrency and Its Management
NUMA systems, Memory zones, The Memory Map and Struct Page
PCI, PCI Addressing, Accessing the Configuration Space, Accessing the I/O and Memory Spaces
configuration space, Accessing the Configuration Space
I/O and memory spaces, Accessing the I/O and Memory Spaces
policies, The Role of the Device Driver
ports, Manipulating I/O ports, I/O Port Access from User Space, Quick Reference
different sizes, Manipulating I/O ports
from user space, I/O Port Access from User Space
restriction of, Capabilities and Restricted Operations, Restricting Access to a Single User at a Time
seqlocks, seqlocks
unaligned data, Quick Reference
access_ok function, Using the ioctl Argument
ACTION variable, The /sbin/hotplug Utility
adding, Semaphores and Mutexes, Add a Device, Add a Driver, Adding VMA Operations
devices, Add a Device
drivers, Add a Driver
locking, Semaphores and Mutexes
VMAs, Adding VMA Operations
addresses, Splitting the Kernel, PCI Addressing, Accessing the I/O and Memory Spaces, Address Types, Remapping Kernel Virtual Addresses, Bus Addresses, Bus Addresses, DMA mappings, PCI double-address cycle mappings, Initializing Each Device, Interface Information, Opening and Closing, MAC Address ResolutionNon-Ethernet Headers, MAC Address Resolution
bounce buffers, DMA mappings
buses, Bus Addresses
hardware, Interface Information, Opening and Closing
MAC, Initializing Each Device, MAC Address ResolutionNon-Ethernet Headers
PCI, PCI Addressing, PCI double-address cycle mappings
remapping, Remapping Kernel Virtual Addresses
resolution (network management), Splitting the Kernel
resolving, MAC Address Resolution
spaces generic I/O, Accessing the I/O and Memory Spaces
types, Address Types
virtual (conversion), Bus Addresses
aio_fsync operation, Asynchronous I/O
algorithms (lock-free), Lock-Free Algorithms
alignment, Data Alignment, Data Alignment, Quick Reference
of data, Data Alignment, Data Alignment
unaligned data access, Quick Reference
allocating, get_free_page and Friends
memory, get_free_page and Friends
by page, get_free_page and Friends
allocation, Allocating and Freeing Device Numbers, Dynamic Allocation of Major Numbers, Char Device RegistrationThe Older Way, scull's Memory Usagescull's Memory Usage, The Real Story of kmallocThe Size Argument, The Flags Argument, Lookaside CachesThe alloc_pages Interface, Lookaside Caches, get_free_page and Friends, vmalloc and FriendsA scull Using Virtual Addresses: scullv, Per-CPU VariablesPer-CPU Variables, Obtaining Large Buffers, Quick Reference, Quick Reference, Quick Reference, Quick Reference, I/O Port Allocation, I/O Memory Allocation and Mapping, I/O Memory Allocation and Mapping, Quick Reference, Quick Reference, Submitting and Controlling a Urb, Allocating the DMA Buffer, The gendisk structure, Initialization in sbull, Device Registration, Packet Reception, Packet Reception, Functions Acting on Socket Buffers, Functions Acting on Socket Buffers
of block drivers, Initialization in sbull
of buffers, Functions Acting on Socket Buffers
of device numbers, Allocating and Freeing Device Numbers
of DMA buffers, Allocating the DMA Buffer
dynamic allocation of major numbers, Dynamic Allocation of Major Numbers
of gendisk structures, The gendisk structure
of I/O ports, I/O Port Allocation
of memory, scull's Memory Usagescull's Memory Usage, The Real Story of kmallocThe Size Argument, The Flags Argument, Lookaside CachesThe alloc_pages Interface, Lookaside Caches, vmalloc and FriendsA scull Using Virtual Addresses: scullv, Per-CPU VariablesPer-CPU Variables, Obtaining Large Buffers, Quick Reference, Quick Reference, Quick Reference, I/O Memory Allocation and Mapping, Quick Reference
boot time, Obtaining Large Buffers, Quick Reference
flags, The Flags Argument, Lookaside Caches, Quick Reference
I/O, I/O Memory Allocation and Mapping, Quick Reference
kmalloc allocation engine, The Real Story of kmallocThe Size Argument
lookaside caches, Lookaside CachesThe alloc_pages Interface, Quick Reference
per-CPU variables, Per-CPU VariablesPer-CPU Variables
vmalloc allocation function, vmalloc and FriendsA scull Using Virtual Addresses: scullv
page-oriented functions, get_free_page and Friends, Quick Reference
of snull drivers, Device Registration
of socket buffers, Packet Reception, Packet Reception, Functions Acting on Socket Buffers
structures (registration), Char Device RegistrationThe Older Way
of urbs, Submitting and Controlling a Urb
alloc_netdev function, Initializing Each Device
alloc_pages interface, The alloc_pages Interface
alloc_skb function, Functions Acting on Socket Buffers
alloc_tty_driver function, A Small TTY Driver
Alpha architecture, porting and, Platform Dependencies
alternatives to locking, Alternatives to LockingRead-Copy-Update
API (application programming interface), Introduction to the Spinlock API, The Timer API
spinlocks, Introduction to the Spinlock API
timers, The Timer API
application programming interface, Introduction to the Spinlock API (see API)
applications, comparisons to kernels, Kernel Modules Versus Applications
architecture, Platform Dependencies, Platform Dependencies, Platform Dependencies, Platform Dependencies, The internals of interrupt handling on the x86, The PCI InterfaceHardware Abstractions, MCA, EISA, VLB, SBus, NuBus, S/390 and zSeries, S/390 and zSeries
EISA, EISA
M68k (porting and), Platform Dependencies
MCA, MCA
NuBus, NuBus
PCI, The PCI InterfaceHardware Abstractions
PowerPC (porting and), Platform Dependencies
S/390, S/390 and zSeries
SBus, SBus
SPARC, Platform Dependencies
Super-H, Platform Dependencies
VLB, VLB
x86 (interrupt handlers on), The internals of interrupt handling on the x86
zSeries, S/390 and zSeries
arguments, The seq_file interface, Using the ioctl Argument, The Flags Argument, The Size Argument, Lookaside Caches, Handler Arguments and Return Value
cache, Lookaside Caches
flags, The Flags Argument
interrupt handlers, Handler Arguments and Return Value
ioctl method, Using the ioctl Argument
kmalloc size, The Size Argument
sfile, The seq_file interface
ARM architecture, porting and, Platform Dependencies
ARP (Address Resolution Protocol), Initializing Each Device, Initializing Each Device, Interface Information, Using ARP with Ethernet, Overriding ARP
Ethernet and, Using ARP with Ethernet
IFF_NOARP flag and, Initializing Each Device, Interface Information
overriding, Overriding ARP
arrays, Module Parameters, scull's Memory Usage, The Memory Map and Struct Page, Initialization in sbull, The bio structure
bi_io_vec, The bio structure
block drivers, Initialization in sbull
memory maps, The Memory Map and Struct Page
parameters (declaration of), Module Parameters
quantum sets (memory), scull's Memory Usage
asm directory, Kernel Modules Versus Applications
assignment, Module ParametersModule Parameters, Dynamic Allocation of Major Numbers, Assigning IP Numbers, Opening and Closing
dynamic allocation of major numbers, Dynamic Allocation of Major Numbers
of hardware addresses, Opening and Closing
of IP numbers, Assigning IP Numbers
of parameter values, Module ParametersModule Parameters
asynchronous DMA, Overview of a DMA Data Transfer
asynchronous I/O, Asynchronous I/OAn asynchronous I/O example
asynchronous notification, Asynchronous NotificationThe Driver's Point of View
asynchronous running of timers, Kernel Timers
asynctest program, Asynchronous Notification
atomic context (spinlocks), Spinlocks and Atomic Context
atomic variables, Atomic Variables
atomic_add operation, Atomic Variables
atomic_dec operation, Atomic Variables
atomic_dec_and_test operation, Atomic Variables
atomic_inc operation, Atomic Variables
atomic_inc_and_test operation, Atomic Variables
atomic_read operation, Atomic Variables
atomic_set operation, Atomic Variables
atomic_sub operation, Atomic Variables
atomic_sub_and_test operation, Atomic Variables
atomic_t count field (memory), The Memory Map and Struct Page
attributes, Default Attributes, Nondefault Attributes, Nondefault Attributes, Binary Attributes, Bus attributes, Bus attributes, Device attributes, Driver structure embedding, How It Works, How It Works, How It Works
binary (kobjects), Binary Attributes
buses, Bus attributes
data (firmware), How It Works
default (kobjects), Default Attributes
deleting, Nondefault Attributes, Bus attributes
devices, Device attributes, How It Works
drivers, Driver structure embedding
loading (firmware), How It Works
nondefault (kobjects), Nondefault Attributes
authorization, Security Issues
autodetection, Autodetecting the IRQ Number
automatic IRQ number detection, Autodetecting the IRQ Number
..................Content has been hidden....................

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