IA32_DESCRIPTOR IdtDescriptor;\r
IA32_DESCRIPTOR *Ia32Idtr;\r
IA32_IDT_ENTRY *Ia32IdtEntry;\r
+ BOOLEAN PeriodicMode;\r
+ UINTN TimerCycle;\r
\r
if (InitFlag == DEBUG_AGENT_INIT_DXE_AP) {\r
+ //\r
+ // Check if CPU APIC Timer is working, otherwise initialize it.\r
+ //\r
+ GetApicTimerState (NULL, &PeriodicMode, NULL);\r
+ TimerCycle = GetApicTimerInitCount ();\r
+ if (!PeriodicMode || TimerCycle == 0) {\r
+ InitializeDebugTimer (NULL, FALSE);\r
+ }\r
//\r
// Invoked by AP, enable interrupt to let AP could receive IPI from other processors\r
//\r