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 Numbers–Dynamic 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 Numbers–Dynamic 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 Resolution–Non-Ethernet Headers, MAC Address Resolution
- bounce
buffers, DMA mappings
- buses, Bus Addresses
- hardware, Interface Information, Opening and Closing
- MAC, Initializing Each Device, MAC Address Resolution–Non-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 Registration–The Older Way, scull's Memory Usage–scull's Memory Usage, The Real Story of kmalloc–The Size Argument, The Flags Argument, Lookaside Caches–The alloc_pages Interface, Lookaside Caches, get_free_page and Friends, vmalloc and Friends–A scull Using Virtual Addresses: scullv, Per-CPU Variables–Per-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 Usage–scull's Memory Usage, The Real Story of kmalloc–The Size Argument, The Flags Argument, Lookaside Caches–The alloc_pages Interface, Lookaside Caches, vmalloc and Friends–A scull Using Virtual Addresses: scullv, Per-CPU Variables–Per-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 kmalloc–The Size Argument
- lookaside caches, Lookaside Caches–The alloc_pages Interface, Quick Reference
- per-CPU variables, Per-CPU Variables–Per-CPU Variables
- vmalloc allocation function, vmalloc and Friends–A 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 Registration–The 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 Locking–Read-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 Interface–Hardware 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 Interface–Hardware 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 Parameters–Module 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 Parameters–Module Parameters
- asynchronous DMA, Overview of a DMA Data Transfer
- asynchronous I/O, Asynchronous I/O–An asynchronous I/O example
- asynchronous notification, Asynchronous Notification–The 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.