21#include <Library/TimerLib.h>
22#include <Library/BaseLib.h>
23#include <Library/DebugLib.h>
24#include <Library/HobLib.h>
26#include <Library/IoLib.h>
27#include <Library/PciLib.h>
41 EFI_PEI_HOB_POINTERS GuidHob;
48 if (GuidHob.Raw != NULL) {
49 gAcpiDesc = GET_GUID_HOB_DATA (GuidHob.Guid);
50 DEBUG ((EFI_D_INFO,
"ACPI Timer: PM_TMR_BLK.RegisterBitWidth = 0x%X\n",
gAcpiDesc->
PM_TMR_BLK.RegisterBitWidth));
51 DEBUG ((EFI_D_INFO,
"ACPI Timer: PM_TMR_BLK.Address = 0x%X\n",
gAcpiDesc->
PM_TMR_BLK.Address));
54 DEBUG ((EFI_D_ERROR,
"Fail to get Acpi description table from hob\n"));
109 }
while (Times-- > 0);
125 IN UINTN MicroSeconds
227 OUT UINT64 *StartValue, OPTIONAL
228 OUT UINT64 *EndValue OPTIONAL
235 if (StartValue != NULL) {
239 if (EndValue != NULL) {
EFI_GUID gEfiAcpiDescriptionGuid
UINT64 EFIAPI MultU64x32(IN UINT64 Multiplicand, IN UINT32 Multiplier)
UINT64 EFIAPI DivU64x32Remainder(IN UINT64 Dividend, IN UINT32 Divisor, OUT UINT32 *Remainder OPTIONAL)
VOID *EFIAPI GetFirstGuidHob(IN CONST EFI_GUID *Guid)
VOID EFIAPI CpuPause(VOID)
UINT32 EFIAPI IoRead32(IN UINTN Port)
UINT64 EFIAPI GetTimeInNanoSecond(IN UINT64 Ticks)
STATIC VOID InternalAcpiDelay(IN UINT32 Delay)
EFI_ACPI_DESCRIPTION * InternalGetApciDescrptionTable(VOID)
EFI_ACPI_DESCRIPTION * gAcpiDesc
UINT64 EFIAPI GetPerformanceCounterProperties(OUT UINT64 *StartValue, OPTIONAL OUT UINT64 *EndValue OPTIONAL)
STATIC UINT32 InternalAcpiGetTimerTick(VOID)
UINT64 EFIAPI GetPerformanceCounter(VOID)
UINTN EFIAPI MicroSecondDelay(IN UINTN MicroSeconds)
UINTN EFIAPI NanoSecondDelay(IN UINTN NanoSeconds)
#define DivU64x32(x, y, z)
EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE PM_TMR_BLK