| Field | Value |
|---|---|
| Index | 0130 |
| Module | GenericSio |
| Size | 39780 bytes (39.8 KB) |
| PE File | GenericSio.efi |
| Phase | DXE |
| Source | AmiModulePkg/GenericSio/ |
| SHA-256 | 2c45dffb5b55... |
| Sections | 6 (.text, .rdata, .data, section_3, .xdata, .reloc) |
GenericSio is a UEFI DXE driver that manages Super I/O (SIO) devices on Intel PCH-based platforms via PCIe enumeration, ACPI DSDT parsing, and SMM runtime switching. It is the primary SIO controller for LPC/eSPI bus-attached devices. Key responsibilities include PCIe root port enumeration and endpoint L1SS substate configuration, RST (Rapid Storage Technology) PCIe storage remapping, SIO device presence detection and resource allocation, ACPI DSDT parsing for SIO device discovery, S3 boot script generation for SIO configuration restore, and runtime SMM access switching.
GenericSioDriverEntryPoint() -- Entry point; initializes SIO controller and installs protocolsGenericSioControllerInit() -- Detects and initializes SIO controllers on the platformGenericSioDeviceDiscover() -- Enumerates SIO devices via ACPI DSDT and PCIeGenericSioResourceAlloc() -- Allocates I/O and MMIO resources for SIO devicesGenericSioS3BootScript() -- Generates S3 resume boot script for SIO configurationGenericSioRuntimeSwitch() -- Handles runtime SMM access switching for SIOGenericSioPcieL1ssConfig() -- Configures PCIe endpoint L1SS substatesGenericSioRstRemap() -- Handles RST PCIe storage remappingSioConvertUint64ToString() -- Converts an unsigned 64-bit integer to stringAmiSioDxeLib -- AMI Super I/O DXE libraryAmiSdlLib -- AMI SDL (Silicon Driver Library)AmiAcpiResLib -- AMI ACPI resource libraryPiDxeS3BootScriptLib -- S3 boot script librarySmmLockBoxDxeLib -- SMM LockBox libraryBaseIoLibIntrinsic -- I/O port access libraryUefiBootServicesTableLib -- UEFI boot servicesUefiRuntimeServicesTableLib -- UEFI runtime services