Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
12-102 12/01/02 Version 1.10
12.4.4 PCI Hot-Plug Events
It is possible to design a PCI Bus Driver to work with PCI Bus that conforms to the PCI Hot-Plug
Specification. There are two levels of functionality that could be provided in the preboot
environment. The first is to initialize the PCI Hot-Plug capable bus so it can be used by an
operating system that also conforms to the PCI Hot-Plug Specification. This only affects the PCI
Enumeration that is performed in either the PCI Bus Drivers initialization, or a firmware
component that executes prior to the PCI Bus Drivers initialization. None of the PCI Device
Drivers need to be aware of the fact that a PCI Controller may exist in a slot that is capable of a hot-
plug event. Also, the addition, removal, and replacement of PCI adapters in the preboot
environment would not be allowed.
The second level of functionality is to actually implement the full hot-plug capability in the PCI
Bus Driver. This is not recommended because it adds a great deal of complexity to the PCI Bus
Driver design with very little added value. However, there is nothing about the PCI Driver Model
that would preclude this implementation. It would have to use an event based periodic timer to
monitor the hot-plug capable slots, and take advantage of the ConnectController()
and
DisconnectController()
Boot Services to dynamically start and stop the drivers that
manage the PCI controller that is being added, removed, or replaced.