# SmmGenericSio

## Function Table

| Address | Name | Description |
|---------|------|-------------|
| Entry point | **ModuleEntryPoint** | SMM entry callback. It invokes `SmmGenericSioAutoGenConstructor`, initializes shared AutoGen state at `mSmmGenericSioEntryStatus`, and continues only if `SmmGenericSioInitHook(&mSmmGenericSioAutoGenContext)` succeeds. |
| Initialization path | **SmmGenericSioAutoGenConstructor** / **SmmGenericSioInitHook** / **SmmGenericSioInitialize** / **SmmGenericSioAutoGenDestructor** / **SmmGenericSioUnload** / **SmmGenericSioDebugAssert** / **SmmGenericSioHandleInitializeError** | Runtime flow: constructor → init-hook gate; core init updates `mSmmGenericSioEntryStatus` through `SmmGenericSioInitialize`; destructor/unload/assert are executed before final error-handling path checks `mSmmGenericSioEntryStatus` and dispatches `SmmGenericSioHandleInitializeError` when negative. |

### Recovered Placeholder Mapping

| Decomp Symbol | Recovered Name |
|---------------|----------------|
| `SmmGenericSioAutoGenConstructor` | `SmmGenericSioAutoGenConstructor` |
| `sub_310` | `SmmGenericSioInitHook` |
| `sub_1570` | `SmmGenericSioInitialize` |
| `sub_18BC` | `SmmGenericSioAutoGenDestructor` |
| `sub_3B0` | `SmmGenericSioUnload` |
| `sub_187C` | `SmmGenericSioDebugAssert` |
| `sub_1A5C` | `SmmGenericSioHandleInitializeError` |
| `qword_3DA8` | `mSmmGenericSioEntryStatus` |
| `unk_3CB0` | `mSmmGenericSioAutoGenContext` |

---
*Generated by HR650X BIOS Decompilation Project*
