Add one parameter DumpFlag to indicate if need to dump Local APIC time's
parameter.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17501
6f19259b-4bc3-4df7-8a09-
765794883524
//\r
CurrentDebugTimerInitCount = GetApicTimerInitCount ();\r
if (mDebugMpContext.DebugTimerInitCount != CurrentDebugTimerInitCount) {\r
//\r
CurrentDebugTimerInitCount = GetApicTimerInitCount ();\r
if (mDebugMpContext.DebugTimerInitCount != CurrentDebugTimerInitCount) {\r
- InitializeDebugTimer (NULL);\r
+ InitializeDebugTimer (NULL, FALSE);\r
Initialize CPU local APIC timer.\r
\r
@param[out] TimerFrequency Local APIC timer frequency returned.\r
Initialize CPU local APIC timer.\r
\r
@param[out] TimerFrequency Local APIC timer frequency returned.\r
+ @param[in] DumpFlag If TRUE, dump Local APIC timer's parameter.\r
\r
@return 32-bit Local APIC timer init count.\r
**/\r
UINT32\r
InitializeDebugTimer (\r
\r
@return 32-bit Local APIC timer init count.\r
**/\r
UINT32\r
InitializeDebugTimer (\r
- OUT UINT32 *TimerFrequency\r
+ OUT UINT32 *TimerFrequency,\r
+ IN BOOLEAN DumpFlag\r
)\r
{\r
UINTN ApicTimerDivisor;\r
)\r
{\r
UINTN ApicTimerDivisor;\r
\r
InitializeApicTimer (ApicTimerDivisor, InitialCount, TRUE, DEBUG_TIMER_VECTOR);\r
\r
\r
InitializeApicTimer (ApicTimerDivisor, InitialCount, TRUE, DEBUG_TIMER_VECTOR);\r
\r
- DEBUG ((EFI_D_INFO, "Debug Timer: FSB Clock = %d\n", PcdGet32(PcdFSBClock))); \r
- DEBUG ((EFI_D_INFO, "Debug Timer: Divisor = %d\n", ApicTimerDivisor)); \r
- DEBUG ((EFI_D_INFO, "Debug Timer: Frequency = %d\n", ApicTimerFrequency)); \r
- DEBUG ((EFI_D_INFO, "Debug Timer: InitialCount = %d\n", InitialCount)); \r
-\r
+ if (DumpFlag) {\r
+ DEBUG ((EFI_D_INFO, "Debug Timer: FSB Clock = %d\n", PcdGet32(PcdFSBClock)));\r
+ DEBUG ((EFI_D_INFO, "Debug Timer: Divisor = %d\n", ApicTimerDivisor));\r
+ DEBUG ((EFI_D_INFO, "Debug Timer: Frequency = %d\n", ApicTimerFrequency));\r
+ DEBUG ((EFI_D_INFO, "Debug Timer: InitialCount = %d\n", InitialCount));\r
+ }\r
if (TimerFrequency != NULL) {\r
*TimerFrequency = ApicTimerFrequency;\r
}\r
if (TimerFrequency != NULL) {\r
*TimerFrequency = ApicTimerFrequency;\r
}\r
Initialize CPU local APIC timer.\r
\r
@param[out] TimerFrequency Local APIC timer frequency returned.\r
Initialize CPU local APIC timer.\r
\r
@param[out] TimerFrequency Local APIC timer frequency returned.\r
+ @param[in] DumpFlag If TRUE, dump Local APIC timer's parameter.\r
\r
@return 32-bit Local APIC timer init count.\r
**/\r
UINT32\r
InitializeDebugTimer (\r
\r
@return 32-bit Local APIC timer init count.\r
**/\r
UINT32\r
InitializeDebugTimer (\r
- OUT UINT32 *TimerFrequency\r
+ OUT UINT32 *TimerFrequency,\r
+ IN BOOLEAN DumpFlag\r
//\r
// Initialize Debug Timer hardware and save its initial count and frequency\r
//\r
//\r
// Initialize Debug Timer hardware and save its initial count and frequency\r
//\r
- mDebugMpContext.DebugTimerInitCount = InitializeDebugTimer (&DebugTimerFrequency);\r
+ mDebugMpContext.DebugTimerInitCount = InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
//\r
// Initialize debug communication port\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
//\r
// Initialize debug communication port\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
- InitializeDebugTimer (&DebugTimerFrequency);\r
+ InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
\r
Phase2Context.InitFlag = InitFlag;\r
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
\r
Phase2Context.InitFlag = InitFlag;\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
- InitializeDebugTimer (&DebugTimerFrequency);\r
+ InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
//\r
// Update IDT entry to save the location pointer saved mailbox pointer\r
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
//\r
// Update IDT entry to save the location pointer saved mailbox pointer\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
- InitializeDebugTimer (&DebugTimerFrequency);\r
+ InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
\r
DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((DEBUG_PORT_HANDLE) (UINTN)Mailbox->DebugPortHandle, NULL);\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
\r
DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((DEBUG_PORT_HANDLE) (UINTN)Mailbox->DebugPortHandle, NULL);\r
GetApicTimerState (NULL, &PeriodicMode, NULL);\r
TimerCycle = GetApicTimerInitCount ();\r
if (PeriodicMode != TRUE || TimerCycle == 0) {\r
GetApicTimerState (NULL, &PeriodicMode, NULL);\r
TimerCycle = GetApicTimerInitCount ();\r
if (PeriodicMode != TRUE || TimerCycle == 0) {\r
- InitializeDebugTimer (NULL);\r
+ InitializeDebugTimer (NULL, FALSE);\r
DisableApicTimerInterrupt ();\r
}\r
Mailbox = GetMailboxPointer ();\r
DisableApicTimerInterrupt ();\r
}\r
Mailbox = GetMailboxPointer ();\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
//\r
// Initialize Debug Timer hardware and save its frequency\r
//\r
- InitializeDebugTimer (&DebugTimerFrequency);\r
+ InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
EnableInterrupts ();\r
\r
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
EnableInterrupts ();\r
\r