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

RegAccessDxe

Function Table

Address Name Description
_ModuleEntryPoint
Driver Entry Point: _ModuleEntryPoint (0x1114)
Calls UefiBootServicesTableLib + UefiRuntimeServicesTableLib constructor
Then calls RegAccessInstallProtocol (sub_1734) which:
On failure, calls RegAccessUnload (sub_1584).
_ModuleEntryPoint (0x1114)
Initialize library constructors and install protocol
Status = UefiBootServicesTableLibConstructor (ImageHandle, SystemTable);
sub_1000 (0x1000) - CopyMem - optimized memory copy with overlap handling
sub_1070 (0x1070) - ZeroMem - zero memory buffer (rep stos)
sub_10D0 (0x10D0) - _mm_pause() - CPU spin-wait hint
sub_10E0 (0x10E0) - ReadTSC - read time-stamp counter
sub_10F0 (0x10F0) - _enable() - enable interrupts (STI)
sub_1100 (0x1100) - _disable() - disable interrupts (CLI)
sub_1110 (0x1110) - ReadEFlags - read EFLAGS register
sub_113C (0x113C) - UefiBootServicesTableLib + UefiRuntimeServicesTableLib
Constructor (AutoGen + library deps)
sub_1584 (0x1584) - RegAccessUnload - driver unload handler
sub_1734 (0x1734) - RegAccessInstallProtocol - installs the Register Access
protocol and initializes IIO topology data
sub_18AC (0x18AC) - AddressTranslateEx - dispatch-based PCIe address
translation (uses funcs_18D0 jump table)
sub_18E0 (0x18E0) - GetPcdProtocol - locate and cache PCD protocol
sub_196C (0x196C) - PcdGet32(5) - get PCD token 5 as UINT32
sub_1988 (0x1988) - PcdGetSize(6) - get PCD token 6 size
sub_19A4 (0x19A4) - PcdGetSize(6) via offset 56 (alternative size func)
sub_19C0 (0x19C0) - GetDebugProtocol - locate debug print protocol
sub_1A48 (0x1A48) - DebugPrint - formatted debug output with CMOS level check
sub_1AC8 (0x1AC8) - Assert - debug assertion handler
sub_1B08 (0x1B08) - ReturnTrue - always returns TRUE (1)
sub_1B0C (0x1B0C) - ClearBsBootServices - nulls gBS_Saved on BootScript
sub_1B18 (0x1B18) - ExitBootServicesNotify - converts debug protocol ptr
sub_1B40 (0x1B40) - GetSystemConfigurationTable - locate config table by GUID
sub_1C04 (0x1C04) - EfiCreateEventReadyToBoot - register ReadyToBoot notify
sub_1CF0 (0x1CF0) - GetHobList - locate HOB list from config table
sub_1D78 (0x1D78) - VirtualAddressChangeNotify - runtime virtual addr change
sub_1D9C (0x1D9C) - DxeRuntimePciExpressLibDestructor - PCIe cleanup
sub_1E0C (0x1E0C) - PciExpressGetAddress - translate PCIe addr to virtual
sub_1ED0 (0x1ED0) - BootScriptWriteTerminator - write entry in boot script
sub_1F2C (0x1F2C) - BootScriptSaveExec - execute S3 boot script save sequence
sub_244C (0x244C) - SmmReadyToLockNotify - transition to SMM ready-to-lock
sub_2498 (0x2498) - BootScriptLockBoxBufferSwitch - switch to LockBox buffer
sub_24F0 (0x24F0) - BootScriptLockBoxComplete - finalize LockBox save
sub_2594 (0x2594) - BootScriptSaveNotify - S3 boot script save notification
sub_265C (0x265C) - BootScriptContextInit - initialize S3 boot script context
sub_295C (0x295C) - BootScriptContextDeinit - release boot script context
sub_2BD8 (0x2BD8) - BootScriptAllocBuf - allocate space in boot script buffer
sub_2D6C (0x2D6C) - BootScriptLockBoxRestore - restore script from LockBox
sub_2E24 (0x2E24) - BootScriptGetEntry - get entry buffer for script write
sub_2EB8 (0x2EB8) - BootScriptCommit - commit script entry via LockBox update
sub_2F78 (0x2F78) - BootScriptIoWrite - write IO port entry to boot script
sub_3028 (0x3028) - PciExpressRead - PCIe config space MMIO read
sub_3070 (0x3070) - PciExpressWrite - PCIe config space MMIO write
sub_30B4 (0x30B4) - CombineAndOrMask - AND+OR mask combination for reg modify
sub_3150 (0x3150) - PcieTranslateAddress - core address translation engine
sub_326C (0x326C) - PcieReadSingle - read a single PCIe register
sub_3320 (0x3320) - PcieModifySingle - read-modify-write a PCIe register
sub_33B4 (0x33B4) - AddressTranslate - translate PCIe addr with segment base
sub_33E8 (0x33E8) - PcieReadFromTranslation - read via address translation
sub_342C (0x342C) - ValidateRegisterAccess - validate register access params
sub_3514 (0x3514) - PcieReadMulti - multi-register PCIe read (block read)
sub_35CC (0x35CC) - PcieWriteSingle - write a single PCIe register
sub_36FC (0x36FC) - PcieModifyWithMask - PCIe register modify with AND/OR
sub_3764 (0x3764) - CopyMemSafe - safe memory copy (BaseMemoryLib wrapper)
sub_3800 (0x3800) - CompareGuid - compare two EFI_GUIDs
sub_3868 (0x3868) - ZeroMemSafe - safe zero memory wrapper
sub_38CC (0x38CC) - ReadUnaligned64 - read unaligned UINT64
sub_38FC (0x38FC) - RShiftU64 - 64-bit right shift
sub_3940 (0x3940) - LShiftU64 - 64-bit left shift
sub_3984 (0x3984) - IoRead16 - read 16-bit IO port
sub_39B4 (0x39B4) - IoWrite16 - write 16-bit IO port
sub_39F4 (0x39F4) - IoRead64 - read 64-bit memory-mapped IO
sub_3A24 (0x3A24) - IoWrite64 - write 64-bit memory-mapped IO
sub_3A64 (0x3A64) - IoRead32 - read 32-bit IO port
sub_3A94 (0x3A94) - BootScriptFreePcieMapping - free PCIe mapping table
sub_3AE0 (0x3AE0) - GetSmmBase2 - locate SmmBase2 protocol
sub_3B30 (0x3B30) - GetLockBoxCommBuffer - locate SMM LockBox comm buffer
sub_3BD0 (0x3BD0) - LockBoxSave - save data to SMM LockBox
sub_3D14 (0x3D14) - LockBoxSetAttributes - set LockBox attributes
sub_3E40 (0x3E40) - LockBoxUpdate - update LockBox entry data
sub_3F88 (0x3F88) - LockBoxRestore - restore data from SMM LockBox
sub_40E0 (0x40E0) - MmcfgTableInit - initialize MMCFG table
sub_421C (0x421C) - IioGetPhysicalBase - get MMCFG base for PCI segment
sub_4344 (0x4344) - IioTopologyInit - initialize IIO topology from protocol
sub_4500 (0x4500) - FatalAssert - unrecoverable assertion (infinite loop)
sub_4568 (0x4568) - IioGetBusFromSocket - get PCI bus for socket/box type
sub_4784 (0x4784) - IioGetSegment - get PCIe segment for box/instance
sub_4BBC (0x4BBC) - IioGetDevice - get PCI device for box/instance/block
nullsub_1 (0x1D74) - no-op - Null event notification handler

Generated by HR650X BIOS Decompilation Project