Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / Smm / Access / SmmAccess / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Restructure the repo

SmmAccess

Index: 0112 | Size: 88.2 KB | Phase: DXE/SMM | Arch: X64

Overview

SMM Access driver for the Purley platform that manages SMRAM (System Management RAM) region configuration and access control. Implements EFI_SMM_ACCESS_PROTOCOL to open/close SMRAM windows, lock SMRAM against unauthorized access, and enumerate SMRAM descriptors. Integrates with S3 boot script to save/restore SMRAM configuration across S3 resume, and configures serial port (UART) baud rate from CMOS.

Key Functions

  • SmmAccessDriverEntry (0x6E0): Main driver initialization -- locates PCD database, retrieves HOB list, configures PCI express base address, programs serial port baud rate from CMOS
  • UefiBootServicesTableLibConstructor: Caches protocol tables, reads UART configuration from CMOS index 0x5C, programs 16550-compatible UART, calls S3BootScriptLibInit
  • ModuleEntryPoint (0x3D4): AutoGen entry point, calls SmmAccessDriverEntry
  • S3BootScriptLibInit: Initializes S3 boot script context
  • sub_1D20: SMRAM region enumeration from HOB data

Protocols/Dependencies

  • EFI_SMM_ACCESS_PROTOCOL (SMRAM open/close/lock operations)
  • PCD Database Protocol, Boot Script Library
  • SmmLockBox for S3 boot script persistence
  • CMOS NVRAM (I/O ports 0x70/0x71) for UART baud rate configuration
  • Source: PurleySktPkg/Smm/Access/SmmAccessDriver.c

Platform

Intel Purley platform (PurleySktPkg), Lenovo HR650X. DEBUG_VS2015 X64 build.