Boot Driver and Boot Driver Factory Code (Compact 2013)

3/26/2014

CE Boot encapsulates hardware-specific boot driver implementations so that it can use drivers of different types through the same interface. All boot drivers are created by a boot driver factory function (OEMBootCreateDriver), and are then accessed through only two functions: an I/O control code (IOCTL) function (BootDriverIoCtl) and a deinitialization function (BootDriverDeinit).

To provide a consistent interface, these two functions are associated with their hardware-specific implementations through a look-up table. This look-up table is a structure of type BootDriverVTable_t, which contains a pointer to the deinitialization function (pfnDeinit) and a pointer to the IOCTL function (pfnIoCtl). Because each boot driver is associated with a BootDriverVTable_t structure, boot loader functions can simply call the generic IOCTL and deinitialization functions, which dereference these pointers. The header file of each driver defines which functions these pointers are associated with.

In This Section

See Also

Concepts

CE Boot Code