AMI-Aptio-BIOS-Reversed / AmiModulePkg / Nvme / NvmeSmm / NvmeSmm /
@Ajax Dong Ajax Dong authored 7 days ago
..
NvmeSmm.c Recovering names 7 days ago
NvmeSmm.h Recovering names 7 days ago
NvmeSmm.md Recovering names 7 days ago
README.md Recovering names 7 days ago
README.md

NvmeSmm

Field Value
Index 0210
Size 18,052 bytes (4684h)
Phase SMM (DXE_SMM_DRIVER)
Source package AmiModulePkg/Nvme/NvmeSmm/NvmeSmm/NvmeSmm.c

Overview

SMM NVMe controller management driver. The recovered code handles device
power/reset sequencing, SMI-backed queue management, surprise hot-plug
handling, and teardown of the SMM notifications that protect NVMe access.

Key Functions

  • ModuleEntryPoint - recovered SMM entry path that calls
    NvmeSmmInitializeRuntimeState and NvmeSmmConfigureSmis
  • NvmeSmmInitializeRuntimeState (decomp symbol: sub_5A0) - caches
    ImageHandle, SystemTable, BootServices, and RuntimeServices
  • NvmeSmmConfigureSmis (decomp symbol: sub_166C) - core SMM setup and
    SMI handler registration
  • NvmeSmmTearDownNotifications/NvmeSmmCloseNotifications
    (decomp symbols: sub_19E4/sub_3D0) - notification teardown callbacks
  • NvmeSmmHasPendingNotificationRegistration (decomp symbol: sub_330) - setup
    gating check for notification state
  • NvmeSmmAutoGenAssert (decomp symbol: sub_1B34) - AutoGen assertion helper
  • NvmeSmmFailureCleanup (decomp symbol: sub_1BE8) - failure-path cleanup helper

Protocols

  • EFI_SMM_SYSTEM_TABLE2
  • NVMe Controller Pass-Through protocol
  • Storage Security Command protocol
  • EFI_SMM_CPU_IO2

Module/file split

  • Implementation is currently a single decompiled unit in
    NvmeSmm.c with recovered symbols defined in NvmeSmm.h.

Platform

HR650X (Purley), AmiModulePkg/Nvme