| Field | Value |
|---|---|
| Index | 0126 |
| Module | DiskIoDxe |
| Size | 15556 bytes (15.6 KB) |
| PE File | DiskIoDxe.efi |
| Phase | DXE |
| Source | MdeModulePkg/Universal/Disk/DiskIoDxe/ |
| SHA-256 | 52ff14045d54... |
| Sections | 6 (.text, .rdata, .data, section_3, .xdata, .reloc) |
DiskIoDxe is a UEFI DXE driver that translates byte-addressable Disk I/O requests into block-aligned Block I/O operations. It produces EFI_DISK_IO_PROTOCOL and EFI_DISK_IO2_PROTOCOL on top of the underlying EFI_BLOCK_IO_PROTOCOL / EFI_BLOCK_IO2_PROTOCOL, allowing upper-layer UEFI components to perform fine-grained reads and writes without needing to manage block alignment themselves. The driver supports asynchronous I/O via the Disk I/O 2 protocol with task queuing and lock-based synchronization.
DiskIoDriverEntryPoint() -- Module entry point; installs driver binding and component name protocolsDiskIoDriverBindingSupported() -- Tests whether a controller supports the Disk I/O protocolDiskIoDriverBindingStart() -- Starts the Disk I/O driver on a controller, installs DiskIo protocol instancesDiskIoDriverBindingStop() -- Stops the Disk I/O driver, uninstalls protocols and frees resourcesDiskIoReadWriteDisk() -- Core read/write function that translates byte I/O to block I/ODiskIo2ReadWriteDisk() -- Asynchronous read/write via Disk I/O 2 protocolDiskIoComponentNameGetDriverName() -- Returns the driver name ("Generic Disk I/O Driver")DiskIoComponentNameGetControllerName() -- Returns the controller nameEFI_BLOCK_IO_PROTOCOL -- Underlying block device accessEFI_BLOCK_IO2_PROTOCOL -- Underlying asynchronous block device accessEFI_DISK_IO_PROTOCOL -- Produced protocol for byte-level disk I/OEFI_DISK_IO2_PROTOCOL -- Produced protocol for async byte-level disk I/OEFI_DRIVER_BINDING_PROTOCOL -- UEFI driver modelEFI_COMPONENT_NAME2_PROTOCOL -- Component name reportingDEBUG_PRINT_ERROR_LEVEL_PROTOCOL -- Debug output control