Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / Dxe / CrystalRidge / CrystalRidgeSMM / CrystalRidgeSMM.h
/** @file
  CrystalRidgeSMM.h -- Header for CrystalRidgeSMM

Copyright (c) HR650X BIOS Decompilation Project
**/

#ifndef __CRYSTALRIDGESMM_H__
#define __CRYSTALRIDGESMM_H__

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

EFI_STATUS EFIAPI CrystalRidgeDebugAssert (
  IN CONST CHAR8  *FileName,
  IN UINT32       LineNumber,
  IN CONST CHAR8  *AssertText
  );

BOOLEAN EFIAPI CrystalRidgeEfiError (
  VOID
  );

BOOLEAN EFIAPI CrystalRidgeDebugEnabled (
  IN UINT64  DebugLevel
  );

VOID *EFIAPI CrystalRidgeCopyMem (
  OUT VOID        *Destination,
  IN CONST VOID   *Source,
  IN UINTN        Length
  );

VOID EFIAPI CrystalRidgeZeroMem (
  OUT VOID   *Buffer,
  IN UINTN   Length
  );

UINT16 EFIAPI CrystalRidgeStatusToCategory (
  IN BOOLEAN  IsSmmContext,
  IN INT32    ErrorCode,
  IN UINT64   RawStatus
  );

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

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

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

UINT64 EFIAPI CrystalRidgeInitDimmDb (
  VOID
  );

CR_DIMM_ENTRY *EFIAPI CrystalRidgeFindDimm (
  IN UINT8  SocketId,
  IN UINT8  Channel,
  IN UINT8  DimmSlot,
  IN UINT8  Flags
  );

UINT64 EFIAPI CrystalRidgeConfigureSmi (
  IN UINT16  ConfigType
  );

EFI_STATUS EFIAPI CrystalRidgeTranslateAddress (
  IN VOID    *TranslationInfo,
  IN UINT64  Address,
  IN INT32   RegionType,
  OUT UINT64 *DimmOffset
  );

EFI_STATUS EFIAPI CrystalRidgeMailboxCommand (
  IN UINT8    SocketId,
  IN UINT8    Channel,
  IN UINT8    DimmSlot,
  IN UINT32   Command,
  IN VOID     *Buffer,
  IN UINT32   InputSize,
  IN UINT32   OutputSize,
  IN UINT8    IsLongOp
  );

VOID EFIAPI CrystalRidgeNfitBuild (
  IN INT32  Socket,
  IN INT32  Channel,
  IN INT32  Dimm,
  IN INT32  RegionType,
  IN UINT8  Flags
  );

UINT64 EFIAPI CrystalRidgeSetupProtocol (
  IN UINT8  *Buffer
  );

EFI_STATUS EFIAPI CrystalRidgeFlushNearMemoryInit (
  IN VOID  *Context
  );

#endif