Newer
Older
AMI-Aptio-BIOS-Reversed / DiskIoDxe / README.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Init

DiskIoDxe

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)

Overview

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.

Key Functions

  • DiskIoDriverEntryPoint() -- Module entry point; installs driver binding and component name protocols
  • DiskIoDriverBindingSupported() -- Tests whether a controller supports the Disk I/O protocol
  • DiskIoDriverBindingStart() -- Starts the Disk I/O driver on a controller, installs DiskIo protocol instances
  • DiskIoDriverBindingStop() -- Stops the Disk I/O driver, uninstalls protocols and frees resources
  • DiskIoReadWriteDisk() -- Core read/write function that translates byte I/O to block I/O
  • DiskIo2ReadWriteDisk() -- Asynchronous read/write via Disk I/O 2 protocol
  • DiskIoComponentNameGetDriverName() -- Returns the driver name ("Generic Disk I/O Driver")
  • DiskIoComponentNameGetControllerName() -- Returns the controller name

Dependencies

  • EFI_BLOCK_IO_PROTOCOL -- Underlying block device access
  • EFI_BLOCK_IO2_PROTOCOL -- Underlying asynchronous block device access
  • EFI_DISK_IO_PROTOCOL -- Produced protocol for byte-level disk I/O
  • EFI_DISK_IO2_PROTOCOL -- Produced protocol for async byte-level disk I/O
  • EFI_DRIVER_BINDING_PROTOCOL -- UEFI driver model
  • EFI_COMPONENT_NAME2_PROTOCOL -- Component name reporting
  • DEBUG_PRINT_ERROR_LEVEL_PROTOCOL -- Debug output control

Platform

  • Architecture: x86-64 (PE32+)
  • Subsystem: EFI_BOOT_SERVICE_DRIVER (0x0B)
  • Copyright: Intel Corporation / Insyde Software Corporation
  • Source: MdeModulePkg
  • BIOS: HR650X (HR6N0XMLK)