20.2 SCSI Bus Driver
EDK II contains a generic SCSI bus driver. This driver uses the services of
EFI_EXT_SCSI_PASS_THRU_PROTOCOL
to enumerate SCSI devices and produce child
handles with EFI_DEVICE_PATH_PROTOCOL
and EFI_SCSI_IO_PROTOCOL
. The
implementation of the SCSI Bus Driver is found in the MdeModulePkg
in the directory
MdeModulePkg/Bus/Scsi/ScsiBusDxe
.
If UEFI-based system firmware is ported to a new platform, most of the
SCSI-related changes occur in the implementation of the SCSI host controller
driver. If new types of SCSI devices are introduced that are required to
provide a console or provide a UEFI boot capability, then the implementation of
new SCSI Device Drivers are also required. The SCSI bus driver is designed to
be a generic, platform-agnostic driver. As a result, customizing the SCSI bus
driver is strongly discouraged
. The detailed design and implementation of the
SCSI bus driver is not covered in this guide.