# 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

| Recovered Name | Alias / Placeholder |
|----------------|---------------------|
| `SmmGenericSioInitialize` | `sub_1570` |
| `SmmGenericSioAutoGenDestructor` | `sub_18BC` |
| `SmmGenericSioUnload` | `sub_3B0` |
| `SmmGenericSioDebugAssert` | `sub_187C` |
| `SmmGenericSioHandleInitializeError` | `sub_1A5C` |
| `mSmmGenericSioEntryStatus` | `qword_3DA8` |
| `mSmmGenericSioAutoGenContext` | `unk_3CB0` |

---
*Generated by HR650X BIOS Decompilation Project*
