Friday, October 16, 2009

Part II:  System Initialization










Part II: System Initialization



In this part of the book, we will see how and when network devices are initialized and registered with the kernel. I'll put special emphasis on Peripheral Component Interconnect (PCI) devices, both because they are increasingly common and because they have special requirements.


Many tasks related to the network interface card (NIC) have to be accomplished before getting a network up and running. First, key kernel components need to be initialized. Then device drivers must initialize and register all the devices they are responsible for and allocate the resources the kernel will use to communicate with them (IRQ, I/O ports, etc.).


It's important to distinguish between two kinds of registration. First, when a device is discovered, it is registered with the kernel as a generic device. Second, an NIC device is registered with the network stack as a network device. For example, a PCI Ethernet card is registered both as a generic PCI device with the PCI layer, and as an Ethernet card (where the device gets a name such as eth0) with the network stack. The first kind of registration is covered in Chapter 6 and the second in Chapter 8.


Here is what is covered in each chapter:




Chapter 4 Notification Chains


The mechanism that kernel components use to notify each other about specific events.




Chapter 5 Network Device Initialization


How network devices are initialized.




Chapter 6 The PCI Layer and Network Interface Cards


How PCI device drivers register with the kernel, and how PCI devices are identified and associated with their drivers.




Chapter 7 Kernel Infrastructure for Component Initialization


The kernel mechanism that ensures that the necessary initialization functions are invoked at boot time or module load time. We'll learn how initialization routines can be tagged with special macros to optimize memory usage and therefore reduce the size of the kernel image. We will also see how the kernel can be passed boot options and how these can be used to configure NICs.




Chapter 8 Device Registration and Initialization


How devices are registered with the kernel and initialized.















No comments:

Post a Comment