Index

A

AC97, The AC97 interface
ATAPI, USB Drivers Protocol Information
atomic instructions, Atomic Instructions and Memory Barriers
atomic operations, Locking Notes
atomically protected variables, Atomically Protected Variables

B

Berkeley Packet Filter, Berkeley Packet Filter
binary compatibility, Kernel Objects
BIOS, Synopsis, General architecture
BIOS POST, Overview
block devices, Block Devices (Are Gone), Types of Device Drivers
boot0, Overview
boot2, Overview
booting, Synopsis
BTX, boot2 Stage
bus methods, Basic information

C

CardBus, PC Card
CD-ROM, General architecture
character devices, Character Devices, Character Devices
CIS, Overview
class, Terminology
Common Access Method (CAM), General architecture
concurrency, Introduction
context switches, Interrupt Handling
credentials, Credentials
critical sections, Critical Sections, Thread Migration

D

D-Link, Overview
data link layer, Berkeley Packet Filter
DDB, init386()
devfs, Dynamic device nodes
device driver
introduction, Purpose of a Device Driver
device driver, Introduction, Purpose of a Device Driver
ISA, Synopsis
resources, Resources
device drivers
sound, Probing, attaching, etc.
device nodes, Introduction
dynamic, Dynamic device nodes
static, Creating static device nodes
Direct Memory Access (DMA), DMA
DMA channel, Resources
dynamic initialization, The SYSINIT Framework

E

ELF, Kernel Initialization

F

filesystem, Filesystem
firmware, Synopsis

G

Global Descriptors Table (GDT), init386()

H

hardware control block, General architecture

I

IA-32, Synopsis
IDE, General architecture
interface, Terminology
Interrupt Descriptor Table (IDT), init386()
interrupt handler, xxx_intr
interrupt handling, Interrupt Handling
interrupt threads, Interrupt Handling
IRQ, Configuration file and the order of identifying and probing during auto-configuration
ISA, Synopsis
probing, Configuration file and the order of identifying and probing during auto-configuration

J

Jail, The Jail Subsystem, Jail Structures
Kernel Architecture, Kernel Space
Userland Program, Userland Code

K

kernel modules
loading, Dynamic Kernel Linker Facility - KLD
kernel initialization
dynamic, The SYSINIT Framework
kernel linker, The SYSINIT Framework
kernel linking
dynamic, Dynamic Kernel Linker Facility - KLD
kernel loadable modules (KLD), Dynamic Kernel Linker Facility - KLD
kernel module, Basic information
kernel modules, The SYSINIT Framework, Modules
listing, Dynamic Kernel Linker Facility - KLD
unloading, Dynamic Kernel Linker Facility - KLD
Kernel Objects, Kernel Objects
class, Creating a Class
interface, Creating an interface template
object, Creating an Object
kernel synchronization, Introduction

L

latency, Interrupt Handling
linker, boot2 Stage
linker sets, SYSINIT Operation
Linksys, Overview
loader, Overview
locking, Locking Notes
lockmgr, Locking Notes
locks
allproc_lock, Shared Exclusive Locks
callout_lock, Mutexes
Giant, Mutexes
proctree_lock, Shared Exclusive Locks
sched_lock, Mutexes
shared exclusive, Shared Exclusive Locks
vm86pcb_lock, Mutexes

M

MAC, MAC Framework
MAKEDEV, Introduction
MBR, boot0 Stage
memory barriers, Atomic Instructions and Memory Barriers
method, Terminology
mknod, Creating static device nodes
multi-processing, Locking Notes
mutex
sleep, Sleep Mutexes
spin, Spin Mutexes
mutexes, Locking Notes
spin, Critical Sections

N

NetBSD, Introduction
NetGear, Overview
network devices, Network Drivers
Newbus, Newbus Device Tree, Overview of Newbus

O

object, Terminology
Object-Oriented, Kernel Objects, Basic information

P

page tables, Mapping Page Tables—vm_map_t, vm_entry_t
paging queues, Management of physical memory—vm_page_t
parameters, init386()
PC Card, PC Card
probe, Sample Probe Routine
PCI bus, PCI Devices
Base Address Registers, Base Address Registers
DMA, DMA
interrupts, Interrupts
resources, Bus Resources
physical memory, Management of physical memory—vm_page_t
PnP, Basic information
POST, Synopsis
preemption, Interrupt Handling
protocols, Protocols
pseudo-device, Introduction
pseudo-devices, SYSINIT Operation

R

read locks, Read Locks versus Write Locks
resources, Resources
root, The Jail Subsystem

S

scheduler, Scheduler
SCSI, Synopsis
adapter, General architecture
BIOS, General architecture
bus, General architecture
errors, Errors Summary
interrupts, Interrupts
security, The Jail Subsystem
semaphores, SysV IPC
shared memory, SysV IPC
SMP Next Generation, Introduction
SMP Next Generation Project, Locking Notes
sockets, Sockets
softc, Basic information
sound subsystem, Introduction
spin mutexes, Critical Sections
swap partition, Tuning the FreeBSD VM system
sysctl, sysctls
SYSINIT, The SYSINIT Framework
sysinit objects, mi_startup()
system call interface, Introduction
system initialization, Synopsis
System V IPC, SysV IPC

T

tape, General architecture
thread migration, Thread Migration
turnstiles, Turnstiles

U

unified buffer cache, The unified buffer cache—vm_object_t
Universal Serial Bus (USB), Introduction
USB
disconnect, Device disconnect and detach
firmware, USB Drivers Protocol Information
host controllers, Host Controllers
OHCI, OHCI
probe, Device probe and attach
UHCI, UHCI

V

virtual memory, Management of physical memory—vm_page_t
virtual v86 mode, boot2 Stage
vm_object_t structure, The unified buffer cache—vm_object_t
vm_page_t structure, Management of physical memory—vm_page_t
vnode, Filesystem I/O—struct buf

W

witness, Witness
write locks, Read Locks versus Write Locks