# PlatformErrorHandler

## Function Table

| Address | Name | Description |
|---------|------|-------------|
| 0x5CC | **_ModuleEntryPoint** (`ModuleEntryPoint`) | DXE/SMM entry point: constructor sequence (`sub_30D8` -> `PlatformErrorHandlerConstructors`), then main init (`sub_3550` -> `RegisterPlatformErrorHandler`), fallback (`sub_34E0` -> `PlatformErrorHandlerFallbackInit`) on failure |
| (rsi) | **PlatformErrorHandlerConstructors** (`sub_30D8`) | AutoGen constructor dispatcher / library initialization path |
| (rsi) | **RegisterPlatformErrorHandler** (`sub_3550`) | Main PlatformErrorHandler initialization |
| (rsi) | **PlatformErrorHandlerFallbackInit** (`sub_34E0`) | Fallback/cleanup initialization helper |
| (rsi) | **PlatformErrorHandlerSmmEntry** (`sub_594`) | Secondary SMM entry observed in local analysis |

## Recovered Globals

| Recovered Name | Original Symbol | Purpose |
|----------------|-----------------|---------|
| PlatformErrorHandlerStatus | qword_72D8 | Module status/result cache (initialized to `EFI_NOT_FOUND`) |
| ErrorSourceListHead | qword_72E0 | Head of registered error-source list |
| ErrorSourceListTail | qword_72E8 | Tail of registered error-source list |
| NotificationCallbackHead | qword_72F0 | Head of notification callback list |
| NotificationCallbackTail | qword_72F8 | Tail of notification callback list |
| EmcaPlatformProtocol | qword_7368 | Cached EMCA platform protocol pointer |
| SmmIpmiTransportProtocol | qword_73C0 | Cached SMM IPMI transport protocol pointer |

## Module File Split

- `_ModuleEntryPoint`/`sub_594` are entry paths in `PlatformErrorHandler.c`.
- `PlatformErrorHandlerConstructors`, `RegisterPlatformErrorHandler`, `PlatformErrorHandlerFallbackInit`,
  `RegisterErrorNotificationCallback`, `RegisterErrorSource`, `DispatchNotification`,
  and `DispatchWithEarlyOut` are in this module directory and are exposed for cross-file linking.
- Helpers for MC-bank access (`sub_1D8C` / `sub_1DE4` / `sub_1E3C`) are still documented in `emcaplatformhookslib.c`.

---
*Generated by HR650X BIOS Decompilation Project*
