# WheaErrorLog

## Function Table

### Public API

| Name | Description |
|------|-------------|
| `_ModuleEntryPoint` | SMM/DXE entry point dispatcher. |
| `WheaErrorLogInitializeContext` | Constructor chain for module initialization (`ASSERT`-checked setup path). |
| `WheaErrorLogInitialize` | Main initialization routine: install protocol hooks and register handlers. |
| `WheaErrorLogCleanupOnError` | Error-path unload/cleanup callback when init fails. |

### Internal Recovered Symbols

| Name | Description |
|------|-------------|
| `WheaErrorLogRegisterSmiHandlers` | Protocol installation and SMI handler registration (`sub_26F4`). |
| `WheaErrorLogHandler` | Core WHEA error handler: parses/normalizes records and updates status blocks. |
| `WheaErrorLogEnableLoggingCallback` | SwSmi path to enable WHEA logging. |
| `WheaErrorLogDisableLoggingCallback` | SwSmi path to disable WHEA logging. |
| `WheaErrorLogSmiNotifyCallback` | Notifies and resets transient WHEA state flags on SMM events. |
| `WheaErrorLogClassifyErrorRecord` | Error record classification and CPER subtype/ID translation bridge. |
| `WheaErrorLogGetStatusBlockBySeverity` | Locate error status block by severity level. |
| `WheaErrorLogInitMPSyncData` | MP sync table initialization for per-CPU structures. |

## Global Variable Recovery

| Address Hint | Recovered Name | Purpose |
|--------------|----------------|---------|
| `0x40A0` | `gWheaErrorLoggingEnabled` | Master WHEA logging gate. |
| `0x40A1/0x40A2/0x40A3` | `gWheaPendingErrorFlags` | Socket/rank pending/error-state bitfield flags. |
| `0x3F28` | `gWheaErrorStatusTable` | Status block pointer array (24-byte entries). |
| `0x3F90` | `gWheaErrorStatusTableEntries` | Number of status-block entries. |
| `0x40E0` | `gWheaPcdToken5` | Cached PCD-derived platform setting value. |
| `0x4108` | `gWheaMPSyncData` | Per-CPU MP sync working region. |
| `0x4148` | `gWheaSiliconConfig` | WHEA silicon config data pointer (from HOB walk). |
| `0x9320/0x9B20` | `gWheaCpuMap` | Per-CPU status and APIC-ID mapping arrays. |

---
*Generated by HR650X BIOS Decompilation Project*
