| Field | Value |
|---|---|
| Index | 0129 |
| Module | Ahci |
| Size | 38468 bytes (38.5 KB) |
| PE File | Ahci.efi |
| Phase | DXE |
| Source | AmiModulePkg/AHCI/AhciBus.c |
| SHA-256 | 06013665d360... |
| Sections | 6 (.text, .rdata, .data, section_3, .xdata, .reloc) |
Ahci is a UEFI DXE driver that implements the Advanced Host Controller Interface (AHCI) for SATA host controllers. It provides EFI_BLOCK_IO_PROTOCOL, EFI_BLOCK_IO2_PROTOCOL, and EFI_ATA_PASS_THRU_PROTOCOL interfaces for mass storage devices connected via SATA. The driver manages AHCI controller initialization, port detection and configuration, command list and FIS management, and performs SATA device I/O through the AHCI register interface.
AhciDriverEntryPoint() -- Entry point; installs driver binding, component name, and ATA pass thru protocolsAhciDriverBindingSupported() -- Tests if a controller is an AHCI-compatible SATA controllerAhciDriverBindingStart() -- Initializes the AHCI controller and detects attached devicesAhciDriverBindingStop() -- Stops the driver, releases controller resourcesAhciCreateDevice() -- Creates a child device handle for a detected SATA deviceAhciBlockIoReadWrite() -- Performs block-level read/write via the AHCI HBAAhciAtaPassThru() -- Implements ATA pass-through commands (IDENTIFY, READ/WRITE, etc.)AhciGetHobList() -- Retrieves HOB list for platform configurationAhciReadUint32Le() -- Reads a little-endian 32-bit AHCI register valueEFI_DRIVER_BINDING_PROTOCOL -- UEFI driver modelEFI_BLOCK_IO_PROTOCOL -- Block device access (produced)EFI_BLOCK_IO2_PROTOCOL -- Async block device access (produced)EFI_ATA_PASS_THRU_PROTOCOL -- ATA pass-through commands (produced)EFI_COMPONENT_NAME2_PROTOCOL -- Component name reportingEFI_PCI_IO_PROTOCOL -- PCI configuration and MMIO accessEFI_IDE_CONTROLLER_INIT_PROTOCOL -- IDE controller initializationEFI_DEVICE_PATH_PROTOCOL -- Device path management