嵌入式linux中文站在线图书

嵌入式linux中文站在线图书

Previous Page
Next Page

Chapter 5. Network Device Initialization

The flexibility of modern operating systems introduces complexity into initialization . First, a device driver can be loaded as either a module or a static component of the kernel. Furthermore, devices can be present at boot time or inserted (and removed) at runtime: the latter type of device, called a hot-pluggable device, includes USB, PCI CardBus, IEEE 1394 (also called FireWire by Apple), and others. We'll see how hot-plugging affects what happens in both the kernel and the user space.

In this first chapter, we will cover:

  • A piece of the core networking code initialization.

  • The initialization of an NIC.

  • How an NIC uses interrupts, and how IRQ handlers can be allocated and released. We will also look at how drivers can share IRQs.

  • How the user can provide configuration parameters to device drivers loaded as modules.

  • Interaction between user space and kernel during device initialization and configuration. We will look at how the kernel can run a user-space helper to either load the correct device driver for an NIC or apply a user-space configuration. In particular, we will look at the Hotplug feature.

  • How virtual devices differ from real ones with regard to configuration and interaction with the kernel.


Previous Page
Next Page