# OA3_SMM

- **Index:** 0198
- **Size:** 5,476 bytes (5.3 KB)
- **Phase:** SMM (System Management Mode)
- **PE Format:** PE32+ x86-64, 5 sections (.text, .rdata, .data, section_3, .xdata)

## Overview

SMM driver for OA3 (OEM Activation 3.0 / OA3.x) digital entitlement and product activation. Part of the AmiModulePkg/OemActivation/OA3 package. OA3 is Microsoft's OEM activation mechanism where the product key and activation data are embedded in the firmware rather than provided on a sticker. This SMM driver manages the secure storage and retrieval of OA3 activation tokens, including the OA3xProductKey and OA3xRMP (Microsoft-trusted certificate table). Operating in SMM ensures activation data is protected from OS-level tampering.

## Key Functions

- **ModuleEntryPoint** -- Standard SMM driver entry; library init and OA3 activation setup
- **Oa3SmmAutoGenConstructor** -- Auto-generated constructor/bootstrap for OA3 SMM AutoGen state
- **Oa3SmmInitHook** -- AutoGen pre-entry gate check before OA3 logic starts
- **Oa3SmmInitialize** -- Core OA3 SMM initialization (token management and activation-data setup)
- **Oa3SmmAutoGenDestructor** -- Auto-generated destructor for OA3 SMM AutoGen context
- **Oa3SmmUnload** -- Manual unload helper used by AutoGen unwind path
- **Oa3SmmDebugAssert** -- Internal assertion handler used in unreachable error-path checks

## Protocols

- **SmmBase2 Protocol** -- SMM framework entry
- **OA3 Protocol** -- OA3 activation data access (product key, RMP table)
- **Variable Services** (SMM) -- Non-volatile storage of activation tokens

## Platform

- **Build:** HR6N0XMLK DEBUG_VS2015 X64
- **Source:** AmiModulePkg/OemActivation/OA3/OA3_SMM/OA3_SMM
- **Part of:** HR650X BIOS SMM infrastructure (indices 0195-0199, 0201-0203)
