+EFI_CPU_ARCH_PROTOCOL *gCpu = NULL;\r
+\r
+/**\r
+ Read the current time.\r
+\r
+ @retval the current tick value.\r
+**/\r
+UINT64\r
+EFIAPI\r
+ReadTime (\r
+ VOID\r
+ )\r
+{\r
+ UINT64 TimerPeriod;\r
+ EFI_STATUS Status;\r
+\r
+ ASSERT (gCpu != NULL);\r
+\r
+ Status = gCpu->GetTimerValue (gCpu, 0, &CurrentTick, &TimerPeriod);\r
+ if (EFI_ERROR (Status)) {\r
+ //\r
+ // The WinntGetTimerValue will return EFI_UNSUPPORTED. Set the\r
+ // TimerPeriod by ourselves.\r
+ //\r
+ CurrentTick += 1000000;\r
+ }\r
+ \r
+ return CurrentTick;\r
+}\r
+\r