# NvmeDynamicSetup

| Field       | Value                                                     |
|-------------|-----------------------------------------------------------|
| Index       | 0316                                                      |
| Module      | NvmeDynamicSetup                                          |
| Size        | 41,444 bytes (PE32+)                                      |
| SHA256      | f49757ed9091948e9d15c67a9f430dce6ceca3629638337db8f750b17295902e |
| Phase       | DXE                                                       |
| Package     | AmiModulePkg/Nvme/NvmeDynamicSetup                        |
| Build       | DEBUG_VS2015 X64                                          |
| Image       | HR6N0XMLK                                                 |
| Entry Point | 0x3D0                                                     |

## Overview

This is the largest of the eight modules at ~41 KB with 103 functions. It provides the dynamic NVMe setup page infrastructure for BIOS configuration of NVMe devices. The module handles enumerating NVMe controllers and namespaces, building HII setup forms dynamically based on detected NVMe hardware, and managing NVMe-related configuration variables. It includes internal memory routines (CopyMemRaw, ZeroMemRaw, SetMemRaw, CompareMemRaw) alongside HII form callback logic.

## Key Functions

- NvmeDynamicSetupEntry -- Module entry point; initializes HII driver and NVMe device enumeration
- NvmeDynamicSetupFormCallback -- Handles user interactions with NVMe setup forms
- NvmeDeviceProbe -- Enumerates NVMe controllers and namespaces on the system
- NvmeSetupFormUpdate -- Dynamically updates HII form content based on detected devices
- CopyMemRaw / ZeroMemRaw / SetMemRaw / CompareMemRaw -- Internal optimized memory operations

## Dependencies

- NVMe driver protocols (controller/namespace detection)
- HII (Human Interface Infrastructure) Protocol
- UEFI Boot/Runtime Services
- Setup variable storage

## Platform

X64 UEFI DXE driver, PE32+ format, 7 sections (.text, .rdata, .data, section_3, .xdata, .rsrc, .reloc). Includes a .rsrc resource section for HII forms.
