Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / GenericSio / SmmGenericSio / README.md
@Ajax Dong Ajax Dong 7 days ago 1 KB Recovering names

SmmGenericSio

  • Index: 0196
  • Size: 16,740 bytes (16.3 KB)
  • Phase: SMM (System Management Mode)
  • PE Format: PE32+ x86-64, 6 sections (.text, .rdata, .data, section_3, .xdata, .reloc)

Overview

SMM driver for generic Super I/O (SIO) controller management. Part of the AmiModulePkg/GenericSio package. This driver provides SMM-based access to Super I/O configuration registers typically located in the I/O address space (e.g., 0x2E/0x2F or 0x4E/0x4F). It manages logical device enable/disable, configuration of LDN (Logical Device Number) assignments, and GPIO pin configuration. The driver supports common SIO chips (Nuvoton, ITE, Fintek) and provides SMM-protected access to SIO resources.

Key Functions

  • ModuleEntryPoint -- Standard SMM driver entry; library init and SIO configuration
  • SmmGenericSioAutoGenConstructor -- AutoGen library constructor entry from build output
  • SmmGenericSioInitialize -- Core SMM Generic SIO initialization (chip detection, logical device config)
  • SmmGenericSioAutoGenDestructor -- AutoGen cleanup hook
  • SmmGenericSioUnload -- Manual unload path used for runtime unwind/teardown
  • SmmGenericSioHandleInitializeError -- Error handler for SIO init failures

Module Split (Recovered)

  • SmmGenericSio.h contains the function prototypes used by the SMM entry shim and AutoGen helpers.
  • SmmGenericSio.c provides ModuleEntryPoint, which wires AutoGen constructor / init / destructor and handles final status/error reporting.

Protocols

  • SmmBase2 Protocol -- SMM service entry point
  • SmmIo Protocol -- SMM I/O access for SIO configuration port communication
  • GenericSio Protocol -- SIO programming interface

Platform

  • Build: HR6N0XMLK DEBUG_VS2015 X64
  • Source: AmiModulePkg/GenericSio/SmmGenericSio
  • Part of: HR650X BIOS SMM infrastructure (indices 0195-0199, 0201-0203)