# SmmTcgStorageSec

| Field   | Value                    |
|---------|--------------------------|
| Index   | 237                      |
| Module  | SmmTcgStorageSec         |
| Size    | 29,792 bytes             |
| Phase   | SMM                      |

## Overview

SmmTcgStorageSec is an SMM module that provides TCG (Trusted Computing Group) storage security services, including Opal and eDrive security subsystem management from within SMM context. It handles storage device security commands, manages TCG storage protocols in SMM, and coordinates with the TCG Storage Security DXE driver through SMM communication. At 29,792 bytes it is one of the larger SMM TCG modules.

## Module/File Split Notes

- Implementation is recovered in one translation unit: `SmmTcgStorageSec.c`
- Symbol declarations are in `SmmTcgStorageSec.h`
- No additional helper split files are present in this recovery set.

## Key Functions

- **ModuleEntryPoint**: UEFI entrypoint that launches initialization and command processing.
- **TcgStorageSecurityInit** (`sub_53C`): TCG storage protocol initialization and SMM dispatch setup.
- **TcgStorageSecurityProcessCommands** (`sub_A9C`): Core SMM storage security command processing pipeline.
- **TcgStorageSecurityHandleInitializeError** (`sub_9D8`): Error handling path for failed command pipeline initialization.

### Recovered Symbol Table

- `TcgStorageSecurityInit` ← `sub_53C`
- `TcgStorageSecurityProcessCommands` ← `sub_A9C`
- `TcgStorageSecurityHandleInitializeError` ← `sub_9D8`

## Dependencies

- UEFI system table and boot services
- SMM base protocol and SMM communication
- TCG storage security protocols (Opal, eDrive)
- Storage device I/O protocols (NVMe, SATA)
- TCG storage security PPIs and DXE protocols

## Platform

HR650X server platform, x64 architecture. Runs in SMM context for TCG storage security operations.
