#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__ */