Newer
Older
AMI-Aptio-BIOS-Reversed / FlashDriver / FlashDriver.md
@Ajax Dong Ajax Dong 2 days ago 2 KB Init

FlashDriver

Function Table

Address Name Description
ModuleEntryPoint
FlashDriverInit
FlashDriverEntry
FlashDriverUnload
FlashSpinelHandler
FlashProtocolInstall
FlashVirtualAddressNotify
FlashFreePciExpressMmio
FlashDeviceProbe
DebugPrint
DebugAssert
EfiGetSystemConfigurationTable
CompareGuid
ReadUint64FromBuffer
NotifyVirtualAddressChangeNull
NotifyVirtualAddressChangeRelease
NullFunction
RuntimeNotifyEvent
RuntimeFreePages
PciExpressGetAddress
IoWrite16
IoRead32
DivU64x32
FlashIsReadyGet
FlashSpiFlashCmd
NotifySetDsNull
CpuPause
Global Variables
gImageHandle 0x7218
gST 0x7208
gBS 0x7210
gRT 0x7220
0x7228 UINT64 BootServices_0; // 0x7240
DxeServices 0x7250
MmPciBase 0x7258
0x73B8 UINT64 gPciExpressBaseAddress; // 0x7280
PCIe Segment/Bus cache
UINTN mPciExpressRegistration; // 0x7288
qword_7270 0x7270
qword_7278 0x7278
byte_7268 0x7268
Flash protocol & state
UINT64 FlashProtocolHandle; // qword_72F8 0x72F8
qword_72F0 0x72F0
qword_72E8 0x72E8
qword_7290 0x7290
qword_7318 0x7318
qword_7308 0x7308
dword_7310 0x7310
dword_7300 0x7300
qword_7338 0x7338
byte_7332 0x7332
byte_7331 0x7331
Event notification handles
UINT64 VirtualAddressChangeEvent; // qword_7230 0x7230
qword_7238 0x7238
qword_73B0 0x73B0
qword_73C0 0x73C0
Function Implementations
Register virtual address change notify events
Locate DxeServicesTable
Status = EfiGetSystemConfigurationTable(&gEfiDxeServicesTableGuid, &gDS);
Locate MmPciBase protocol
if (gPciUsra == NULL) {

Generated by HR650X BIOS Decompilation Project