Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / FlashDriver / FlashDriverSmm / FlashDriverSmm.h
@Ajax Dong Ajax Dong 7 days ago 2 KB Recovering names (mostly done)
/** @file
  FlashDriverSmm.h - shared declarations for the AMI SMM SPI flash driver.
**/

#ifndef __FLASHDRIVERSMM_H__
#define __FLASHDRIVERSMM_H__

#include "../uefi_headers/Uefi.h"

EFI_STATUS EFIAPI FlashDriverSmmEntryPoint(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable);
EFI_STATUS EFIAPI HobListInit(VOID);
EFI_STATUS EFIAPI FlashSmmInit(VOID);
EFI_STATUS EFIAPI SmmFlashCompare(IN UINTN CommBufferAddr, IN UINTN CommBufferSize, IN VOID *CommBuffer);
EFI_STATUS EFIAPI SmmFlashWrite(IN UINTN FlashAddress, IN UINTN Length);
EFI_STATUS EFIAPI SmmFlashRead(IN UINTN Address, IN UINTN Length, IN VOID *Buffer);
EFI_STATUS EFIAPI SmmFlashErase(IN UINTN Address, IN UINTN Length, IN VOID *CommBuffer);
EFI_STATUS EFIAPI SmmEntryHandler(VOID);
EFI_STATUS EFIAPI SmmExitHandler(VOID);

EFI_STATUS EFIAPI FlashRead(IN UINTN Address, IN UINTN Length, OUT VOID *Buffer);
EFI_STATUS EFIAPI FlashWrite(IN UINTN Address, IN UINTN Length);
EFI_STATUS EFIAPI FlashErase(IN UINTN Address, IN UINTN Length, IN UINTN DataAddress);
EFI_STATUS EFIAPI FlashCompare(IN UINTN Address, IN UINTN Length, OUT UINT32 *Result);

EFI_STATUS EFIAPI SpiCriticalSectionEnter(VOID);
EFI_STATUS EFIAPI SpiCriticalSectionExit(VOID);
EFI_STATUS EFIAPI SpiOperationComplete(VOID);
VOID EFIAPI SpiPreOpCallbacks(VOID);
VOID EFIAPI SpiPostOpCallbacks(VOID);
EFI_STATUS EFIAPI SpiProbeProtocol(VOID);
BOOLEAN EFIAPI ReaJEDEDId(IN UINTN SpiMmioBase, OUT UINT32 *JedecId);
UINT32 EFIAPI GetFlashSizeFromJedec(IN UINT32 JedecId);
VOID EFIAPI SpiExecuteComman(IN UINT32 Opcode);
VOID EFIAPI SpiSetCs(IN UINT8 Enable, IN UINT8 Reset);
UINT8 EFIAPI SpiWaitForCycleComplete(VOID);
VOID EFIAPI SpiInitRegisters(VOID);
BOOLEAN EFIAPI SpiReadData(IN UINT32 Address, IN UINT32 Length, IN UINT32 *Buffer);
VOID EFIAPI FlashFvTrackingInit(IN UINTN FlashAddress, IN UINTN Length);
VOID EFIAPI FlashFvTrackingTeardown(IN UINTN FlashAddress, IN UINTN Length);

VOID EFIAPI CpuPause(VOID);
UINTN EFIAPI SetJmpWrapper(OUT VOID *JumpBuffer);
VOID EFIAPI LongJmpWrapper(IN VOID *JumpBuffer, IN UINTN Value);

#endif /* __FLASHDRIVERSMM_H__ */