/** @file CmosDxe.h -- Header for CmosDxe Copyright (c) HR650X BIOS Decompilation Project **/ #ifndef __CMOSDXE_H__ #define __CMOSDXE_H__ #include "../uefi_headers/Uefi.h" // // Function Prototypes // EFI_STATUS EFIAPI Rename Table( VOID ); EFI_STATUS EFIAPI name Renamed to( VOID ); /// memcpy with overlap handling EFI_STATUS EFIAPI InternalMemCopyMem( VOID ); /// DXE entry point EFI_STATUS EFIAPI ModuleEntryPoint( VOID ); /// driver initialization EFI_STATUS EFIAPI CmosManagerDriverEntry( VOID ); /// install protocol & register callbacks EFI_STATUS EFIAPI CmosManagerInstallProtocol( VOID ); /// debug/trace output via DebugLib EFI_STATUS EFIAPI CmosDebugPrint( VOID ); /// parse CMOS config from FV/hob data EFI_STATUS EFIAPI CmosParseConfigTables( VOID ); /// clear CMOS power-loss status bits EFI_STATUS EFIAPI CmosClearPowerLossStatus( VOID ); /// return protocol context pointer EFI_STATUS EFIAPI CmosGetProtocolContext( VOID ); /// test all flags in mask: (flags & mask) == mask EFI_STATUS EFIAPI CmosCheckAllFlags( VOID ); /// test any flag in mask: (flags & mask) != 0 EFI_STATUS EFIAPI CmosCheckAnyFlags( VOID ); /// set state bits + write to CMOS status reg EFI_STATUS EFIAPI CmosSetStateFlags( VOID ); /// wrapper: set flags (calls CmosSetStateFlags) EFI_STATUS EFIAPI CmosSetFlag( VOID ); /// clear state bits + update CMOS status reg EFI_STATUS EFIAPI CmosClearFlag( VOID ); /// allocate/reload shadow buffer from CMOS HW EFI_STATUS EFIAPI CmosReadShadowBuffer( VOID ); /// write 32-bit value to extended CMOS bank EFI_STATUS EFIAPI CmosWriteVariable( VOID ); /// read 32-bit value from extended CMOS bank EFI_STATUS EFIAPI CmosReadVariable( VOID ); /// install CmosManager protocol on handle EFI_STATUS EFIAPI CmosInstallProtocol( VOID ); /// fill protocol vtable with function pointers EFI_STATUS EFIAPI CmosInitializeVtable( VOID ); /// allocate + populate protocol instance EFI_STATUS EFIAPI CmosCreateProtocolInstance( VOID ); /// convert bank number to CMOS address EFI_STATUS EFIAPI CmosAddressLookup( VOID ); /// raw CMOS port read/write (config table based) EFI_STATUS EFIAPI CmosPortIoAccess( VOID ); /// write CMOS register with checksum update EFI_STATUS EFIAPI CmosRegisterWrite( VOID ); /// read/write CMOS through shadow buffer EFI_STATUS EFIAPI CmosBufferReadWrite( VOID ); /// route register access to buffer or direct IO EFI_STATUS EFIAPI CmosRegisterDispatch( VOID ); /// table-based bitfield register access EFI_STATUS EFIAPI CmosTableReadWrite( VOID ); /// read CMOS register by address EFI_STATUS EFIAPI CmosReadRegister( VOID ); /// read RTC status info + bank flags EFI_STATUS EFIAPI CmosGetStatus( VOID ); /// read current CMOS checksum from HW EFI_STATUS EFIAPI CmosReadChecksum( VOID ); /// write checksum to CMOS HW EFI_STATUS EFIAPI CmosWriteChecksum( VOID ); /// update NMI status reg 0x0E bits EFI_STATUS EFIAPI CmosUpdateNmiStatus( VOID ); /// update checksum after register change EFI_STATUS EFIAPI CmosUpdateChecksumDelta( VOID ); /// verify CMOS checksum EFI_STATUS EFIAPI CmosVerifyChecksum( VOID ); /// write CMOS register by address EFI_STATUS EFIAPI CmosWriteRegister( VOID ); /// flush buffer or load optimal defaults EFI_STATUS EFIAPI CmosFlushOrLoadDefaults( VOID ); /// read BCD-encoded RTC register EFI_STATUS EFIAPI CmosRtcBcdRead( VOID ); /// write BCD-encoded RTC register EFI_STATUS EFIAPI CmosRtcBcdWrite( VOID ); /// write RTC time to CMOS EFI_STATUS EFIAPI CmosWriteTime( VOID ); /// read RTC time from CMOS EFI_STATUS EFIAPI CmosReadTime( VOID ); /// get DebugLib protocol interface EFI_STATUS EFIAPI CmosGetDebugInterface( VOID ); /// debug print with status code EFI_STATUS EFIAPI CmosDebugPrintWithStatus( VOID ); /// UEFI assert handler EFI_STATUS EFIAPI CmosAssert( VOID ); /// locate UEFI config table by GUID EFI_STATUS EFIAPI CmsGetSystemConfigurationTable( VOID ); /// get HOB list pointer EFI_STATUS EFIAPI CmosGetHobList( VOID ); /// find config table by GUID EFI_STATUS EFIAPI CmosFindConfigTable( VOID ); /// get DebugPort protocol EFI_STATUS EFIAPI CmosGetDebugProtocol( VOID ); /// initialize debug output protocol EFI_STATUS EFIAPI CmosInitDebugOutput( VOID ); /// debug printf via DebugLib EFI_STATUS EFIAPI CmosDebugOutput( VOID ); /// compare GUIDs (memcmp) EFI_STATUS EFIAPI CmosGuidCompare( VOID ); /// convert UINT64 to string with base EFI_STATUS EFIAPI CmosUint64ToString( VOID ); /// parse ASCII string to integer EFI_STATUS EFIAPI CmosAsciiStrToInt( VOID ); /// convert EFI_STATUS to string EFI_STATUS EFIAPI CmosStatusToString( VOID ); /// format string (vsnprintf) EFI_STATUS EFIAPI CmosAsciiSPrint( VOID ); /// va_list wrapper for AsciiSPrint EFI_STATUS EFIAPI CmosAsciiSPrintVa( VOID ); /// extended CMOS access via ports 0x70/0x71(NMI) EFI_STATUS EFIAPI CmosExtPortIoAccess( VOID ); /// stub: always returns 0 EFI_STATUS EFIAPI CmosReturnFalse( VOID ); /// stub: always returns 1 EFI_STATUS EFIAPI CmosReturnTrue( VOID ); /// bank-switched CMOS via ports 0x72/0x73 EFI_STATUS EFIAPI CmosBankPortIoAccess( VOID ); /// read CMOS debug level from 0x74/0x75 EFI_STATUS EFIAPI CmosGetDebugLevel( VOID ); /// read unaligned UINT16 * EFI_STATUS EFIAPI CmosReadUnaligned16( VOID ); /// read unaligned UINT64 * EFI_STATUS EFIAPI CmosReadUnaligned64( VOID ); /// memcpy wrapper with bounds checks EFI_STATUS EFIAPI CmosCopyMem( VOID ); /// compare GUID structs EFI_STATUS EFIAPI CmosCompareGuid( VOID ); /// get PCD protocol pointer EFI_STATUS EFIAPI CmosGetPcdProtocol( VOID ); /// memset wrapper EFI_STATUS EFIAPI CmosSetMem( VOID ); /// memmove wrapper EFI_STATUS EFIAPI CmosCopyMemOverlap( VOID ); #endif /* __CMOSDXE_H__ */