\r
**/\r
\r
-\r
#include <PiDxe.h>\r
\r
#include <Library/ArmLib.h>\r
#include <Protocol/HardwareInterrupt.h>\r
\r
// The notification function to call on every timer interrupt.\r
-EFI_TIMER_NOTIFY mTimerNotifyFunction = (EFI_TIMER_NOTIFY)NULL;\r
-EFI_EVENT EfiExitBootServicesEvent = (EFI_EVENT)NULL;\r
+EFI_TIMER_NOTIFY mTimerNotifyFunction = (EFI_TIMER_NOTIFY)NULL;\r
+EFI_EVENT EfiExitBootServicesEvent = (EFI_EVENT)NULL;\r
\r
// The current period of the timer interrupt\r
-UINT64 mTimerPeriod = 0;\r
+UINT64 mTimerPeriod = 0;\r
// The latest Timer Tick calculated for mTimerPeriod\r
-UINT64 mTimerTicks = 0;\r
+UINT64 mTimerTicks = 0;\r
// Number of elapsed period since the last Timer interrupt\r
-UINT64 mElapsedPeriod = 1;\r
+UINT64 mElapsedPeriod = 1;\r
\r
// Cached copy of the Hardware Interrupt protocol instance\r
-EFI_HARDWARE_INTERRUPT_PROTOCOL *gInterrupt = NULL;\r
+EFI_HARDWARE_INTERRUPT_PROTOCOL *gInterrupt = NULL;\r
\r
/**\r
This function registers the handler NotifyFunction so it is called every time\r
IN UINT64 TimerPeriod\r
)\r
{\r
- UINT64 CounterValue;\r
- UINT64 TimerTicks;\r
- EFI_TPL OriginalTPL;\r
+ UINT64 CounterValue;\r
+ UINT64 TimerTicks;\r
+ EFI_TPL OriginalTPL;\r
\r
// Always disable the timer\r
ArmGenericTimerDisableTimer ();\r
ArmGenericTimerEnableTimer ();\r
} else {\r
// Save the new timer period\r
- mTimerPeriod = TimerPeriod;\r
+ mTimerPeriod = TimerPeriod;\r
// Reset the elapsed period\r
mElapsedPeriod = 1;\r
}\r
EFI_STATUS\r
EFIAPI\r
TimerDriverGetTimerPeriod (\r
- IN EFI_TIMER_ARCH_PROTOCOL *This,\r
- OUT UINT64 *TimerPeriod\r
+ IN EFI_TIMER_ARCH_PROTOCOL *This,\r
+ OUT UINT64 *TimerPeriod\r
)\r
{\r
if (TimerPeriod == NULL) {\r
a period of time.\r
\r
**/\r
-EFI_TIMER_ARCH_PROTOCOL gTimer = {\r
+EFI_TIMER_ARCH_PROTOCOL gTimer = {\r
TimerDriverRegisterHandler,\r
TimerDriverSetTimerPeriod,\r
TimerDriverGetTimerPeriod,\r
VOID\r
EFIAPI\r
TimerInterruptHandler (\r
- IN HARDWARE_INTERRUPT_SOURCE Source,\r
- IN EFI_SYSTEM_CONTEXT SystemContext\r
+ IN HARDWARE_INTERRUPT_SOURCE Source,\r
+ IN EFI_SYSTEM_CONTEXT SystemContext\r
)\r
{\r
- EFI_TPL OriginalTPL;\r
- UINT64 CurrentValue;\r
- UINT64 CompareValue;\r
+ EFI_TPL OriginalTPL;\r
+ UINT64 CurrentValue;\r
+ UINT64 CompareValue;\r
\r
//\r
// DXE core uses this callback for the EFI timer tick. The DXE core uses locks\r
gInterrupt->EndOfInterrupt (gInterrupt, Source);\r
\r
// Check if the timer interrupt is active\r
- if ((ArmGenericTimerGetTimerCtrlReg () ) & ARM_ARCH_TIMER_ISTATUS) {\r
-\r
+ if ((ArmGenericTimerGetTimerCtrlReg ()) & ARM_ARCH_TIMER_ISTATUS) {\r
if (mTimerNotifyFunction != 0) {\r
mTimerNotifyFunction (mTimerPeriod * mElapsedPeriod);\r
}\r
gBS->RestoreTPL (OriginalTPL);\r
}\r
\r
-\r
/**\r
Initialize the state information for the Timer Architectural Protocol and\r
the Timer Debug support protocol that allows the debugger to break into a\r
EFI_STATUS\r
EFIAPI\r
TimerInitialize (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
EFI_HANDLE Handle;\r
ASSERT_EFI_ERROR (Status);\r
\r
// Disable the timer\r
- TimerCtrlReg = ArmGenericTimerGetTimerCtrlReg ();\r
+ TimerCtrlReg = ArmGenericTimerGetTimerCtrlReg ();\r
TimerCtrlReg |= ARM_ARCH_TIMER_IMASK;\r
TimerCtrlReg &= ~ARM_ARCH_TIMER_ENABLE;\r
ArmGenericTimerSetTimerCtrlReg (TimerCtrlReg);\r
ASSERT_EFI_ERROR (Status);\r
\r
// Set up default timer\r
- Status = TimerDriverSetTimerPeriod (&gTimer, FixedPcdGet32(PcdTimerPeriod)); // TIMER_DEFAULT_PERIOD\r
+ Status = TimerDriverSetTimerPeriod (&gTimer, FixedPcdGet32 (PcdTimerPeriod)); // TIMER_DEFAULT_PERIOD\r
ASSERT_EFI_ERROR (Status);\r
\r
Handle = NULL;\r
// Install the Timer Architectural Protocol onto a new handle\r
- Status = gBS->InstallMultipleProtocolInterfaces(\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
&Handle,\r
- &gEfiTimerArchProtocolGuid, &gTimer,\r
+ &gEfiTimerArchProtocolGuid,\r
+ &gTimer,\r
NULL\r
);\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
\r
// Everything is ready, unmask and enable timer interrupts\r
TimerCtrlReg = ARM_ARCH_TIMER_ENABLE;\r