AMI-Aptio-BIOS-Reversed / FlashDriverSmm /
@Ajax Dong Ajax Dong authored 7 days ago
..
FlashDriverSmm.c Init 7 days ago
FlashDriverSmm.h Init 7 days ago
FlashDriverSmm.md Init 7 days ago
README.md Init 7 days ago
README.md

FlashDriverSmm, 0166, 22592 bytes, DXE

AMI SMM SPI Flash Driver for the HR650X. Provides SPI flash read/write/erase operations through SMI handlers via SMM CommBuffer protocol. Features flash chip detection via JEDEC ID (40+ chip families: Winbond, Macronix, SST, Atmel, EON, Spansion, etc.), SPI hardware sequencing through PCH registers, SetJmp/LongJmp critical sections with PIC masking, and flash FV tracking on SMI exit.

Key Functions: FlashSmmInit (SPI BAR, JEDEC probe via 4 probe tables), FlashSmmCompareHandler/WriteHandler/ReadHandler/EraseHandler, JEDEC ID detection (sub_2880 Adesto/Atmel, sub_2BC0 XMC/Spansion/EON, sub_3374 ESMT/generic, sub_27AC SST), Pre/Post operation callbacks, SPI HW sequencing via PCH SPI controller.

Protocols/Dependencies: EFI_SMM_COMMUNICATION_PROTOCOL, EFI_SMM_SYSTEM_TABLE2, SPI_PROTOCOL, PCH SPI host controller registers, SMM Sx Dispatch Protocol, PCI Express BAR.

Platform: AmiModulePkg/FlashDriver, VS2015 X64 DEBUG.