Newer
Older
AMI-Aptio-BIOS-Reversed / CpRcPkg / Universal / RegAccess / Pei / RegAccessPeim / RegAccessPeim.h
@Ajax Dong Ajax Dong 2 days ago 3 KB Recovering names (cleanups)
#ifndef __REGACCESSPEIM_H__
#define __REGACCESSPEIM_H__

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

typedef struct _REG_ACCESS_DESC REG_ACCESS_DESC;

VOID *
EFIAPI
GetPeiServicesTablePointer (
  VOID
  );

VOID
EFIAPI
ReportAssertMessage (
  IN UINTN        ErrorLevel,
  IN CONST CHAR8  *Message,
  ...
  );

INTN
EFIAPI
DebugPrint (
  IN UINTN        ErrorLevel,
  IN CONST CHAR8  *Format,
  ...
  );

INTN
EFIAPI
GetDebugErrorLevel (
  VOID
  );

BOOLEAN
EFIAPI
IsDebugEnabled (
  VOID
  );

BOOLEAN
EFIAPI
BoolCheck (
  IN UINTN  Value
  );

VOID
EFIAPI
CpuDeadLoopEx (
  IN UINTN        ErrorLevel,
  IN CONST CHAR8  *Message,
  IN UINTN        Status
  );

INTN
EFIAPI
IoMemRead (
  IN   UINTN    AccessWidth,
  IN   VOID     *Address,
  OUT  UINT64   *Value
  );

INTN
EFIAPI
IoMemWrite (
  IN   UINTN    AccessWidth,
  OUT  VOID     *Address,
  IN   UINT64   *Value
  );

UINTN
EFIAPI
BitFieldMerge (
  IN OUT  UINT64  *Value,
  IN      UINTN   AndMask,
  IN      UINTN   OrMask,
  IN      UINT8   ByteCount
  );

UINT64
EFIAPI
InternalLShift64 (
  IN  UINT64  Value,
  IN  UINTN   ShiftCount
  );

UINT64
EFIAPI
InternalRShift64 (
  IN  UINT64  Value,
  IN  UINTN   ShiftCount
  );

VOID
EFIAPI
InternalReadIdtr (
  OUT IA32_DESCRIPTOR *Idtr
  );

VOID *
EFIAPI
PcdGetProtocol (
  IN  UINTN  TokenNumber
  );

VOID *
EFIAPI
PcdGetPtr (
  IN  UINTN  TokenNumber
  );

UINTN
EFIAPI
PcdGetSize (
  IN  UINTN  TokenNumber
  );

EFI_STATUS
EFIAPI
PcdSetRegisterAccess (
  IN  REG_ACCESS_DESC  *Desc,
  IN  UINTN            ElementCount
  );

VOID *
EFIAPI
RegAccessLookupTablePointer (
  IN  REG_ACCESS_DESC  *Desc
  );

UINTN
EFIAPI
CpuTypeToTableIndex (
  IN  UINTN   SocketId,
  IN  UINTN   CpuType,
  IN  UINTN   BoxInstance,
  IN  UINTN   FunctionalBlock
  );

UINTN
EFIAPI
CpuTypeToDeviceIndex (
  IN  UINTN   SocketId,
  IN  UINTN   CpuType,
  IN  UINTN   BoxInstance,
  IN  UINTN   FunctionalBlock
  );

UINTN
EFIAPI
FuncBlockToTableIndex (
  IN  UINTN   SocketId,
  IN  UINTN   CpuType,
  IN  UINTN   BoxInstance,
  IN  UINTN   FunctionalBlock
  );

UINTN
EFIAPI
TranslateAddressWalk (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  UINTN            PageTableBase,
  OUT UINT64           *TranslatedAddress
  );

EFI_STATUS
EFIAPI
RegAccessValidateRange (
  IN  UINTN   AccessWidth,
  IN  UINT64  Address,
  IN  UINTN   Count,
  IN  UINTN   Buffer
  );

EFI_STATUS
EFIAPI
RegAccessReadRegister (
  IN  REG_ACCESS_DESC  *Descriptor,
  OUT UINT64           *Value
  );

EFI_STATUS
EFIAPI
RegAccessWriteRegister (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  UINT64            Value
  );

EFI_STATUS
EFIAPI
RegAccessReadModify (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  UINT64           AndMask,
  IN  UINT64           OrMask
  );

VOID
EFIAPI
RegAccessGetConfigSpace (
  OUT REG_ACCESS_DESC  *Descriptor
  );

EFI_STATUS
EFIAPI
RegAccessReadImpl (
  IN  REG_ACCESS_DESC  *Descriptor,
  OUT UINT64           *Value
  );

EFI_STATUS
EFIAPI
RegAccessWriteImpl (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  UINT64           Value
  );

EFI_STATUS
EFIAPI
RegAccessReadModifyImpl (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  UINT64           AndMask,
  IN  UINT64           OrMask
  );

EFI_STATUS
EFIAPI
RegAccessReadMultiImpl (
  IN  REG_ACCESS_DESC  *Descriptor,
  OUT VOID             *Buffer
  );

EFI_STATUS
EFIAPI
RegAccessWriteMultiImpl (
  IN  REG_ACCESS_DESC  *Descriptor,
  IN  VOID             *Buffer
  );

EFI_STATUS
EFIAPI
RegAccessTranslateFull (
  IN  REG_ACCESS_DESC  *Descriptor,
  OUT UINT64           *TranslatedAddress
  );

UINT32
EFIAPI
RegAccessStripHighBits (
  IN  UINTN   PageTable,
  IN  UINT32  Address
  );

EFI_STATUS
EFIAPI
RegAccessEntryPoint (
  IN EFI_HANDLE           ImageHandle,
  IN EFI_SYSTEM_TABLE     *SystemTable
  );

#endif /* __REGACCESSPEIM_H__ */