Plug and Play BIOS Specification
Plug and Play BIOS Specification 1.0A Page 54
Appendix B: Device Driver Initialization Model_______
Please Note: The Device Driver Initialization Model (DDIM) is provided as an extension of the current
option ROM model. Current bus devices cannot be guaranteed that the systems in which they are
installed will support DDIM. Therefore, current bus device Option ROMs (ISA, EISA, MCA, PCMCIA)
must support the standard initialization model, and may optionally support the DDIM. The Option ROM
may determine if it is being initialized using a DDIM by attempting to write to, and read back from his
data space. If the Option ROM can successfully write to its data space, then it should support a DDIM
initialization. Otherwise, it must perform a standard initialization.
As of this writing, the PCI architecture is the only architecture wherein Option ROMs are guaranteed
support for DDIM.
In an effort to reduce the amount of UMB (Upper Memory Block) space consumed by add-in Option
ROMs, and to more efficiently use the available UMB space, Plug and Play Option ROMs should support
the Device Driver Initialization Model (DDIM).
Under this model, all Option ROMs installed in a Plug and Play system which indicate that they support
DDIM will be copied into RAM by the System BIOS. The System BIOS will then execute a FAR CALL
into the device's initialization vector.
Devices which support DDIM may then initialize themselves, update their RAM image with static Data (if
necessary), and then discard the initialization code, by updating the length byte at offset 3h and
recalculating their checksum. The System BIOS will then initialize the next DDIM ROM by copying it to
RAM on the next 2 KB boundary following the end of the most recently initialized DDIM ROM (or in the
next available UMB which is large enough to contain both the Runtime and Initialization code of the
DDIM ROM).
Once all DDIM Option ROMs have been initialized, the System BIOS will Write Protect the RAM images
and proceed with the boot process.
Flow:
System BIOS copies the DDIM Option ROM Copy to RAM
System BIOS executes a FAR CALL to Initialization Vector
Option ROM initializes the device
Option ROM updates any static data structures
Option ROM updates the ROM Length and Check sum
Option ROM returns to the System BIOS with Return Status
System BIOS Write Protects RAM image of ROM.
Advantages:
* Provides more efficient use of Upper Memory Blocks. Initialization code may be discarded.
* Provides a seamless mechanism whereby Option ROMs may be copied to RAM
* Provides Option ROMs with a means of storing Static Data Structures built at boot time.
* Allows board vendors to use lower performance ROM devices (on buses that are guaranteed to support
this architecture - PCI).