mirror of https://github.com/acidanthera/audk.git
SourceLevelDebugPkg/DebugTimer: Dump Debug Timer parameter
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
This commit is contained in:
parent
edbb27132d
commit
86d1365287
|
@ -2534,7 +2534,7 @@ InterruptProcess (
|
|||
//
|
||||
CurrentDebugTimerInitCount = GetApicTimerInitCount ();
|
||||
if (mDebugMpContext.DebugTimerInitCount != CurrentDebugTimerInitCount) {
|
||||
InitializeDebugTimer (NULL);
|
||||
InitializeDebugTimer (NULL, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,12 +18,14 @@
|
|||
Initialize CPU local APIC timer.
|
||||
|
||||
@param[out] TimerFrequency Local APIC timer frequency returned.
|
||||
@param[in] DumpFlag If TRUE, dump Local APIC timer's parameter.
|
||||
|
||||
@return 32-bit Local APIC timer init count.
|
||||
**/
|
||||
UINT32
|
||||
InitializeDebugTimer (
|
||||
OUT UINT32 *TimerFrequency
|
||||
OUT UINT32 *TimerFrequency,
|
||||
IN BOOLEAN DumpFlag
|
||||
)
|
||||
{
|
||||
UINTN ApicTimerDivisor;
|
||||
|
@ -45,11 +47,12 @@ InitializeDebugTimer (
|
|||
|
||||
InitializeApicTimer (ApicTimerDivisor, InitialCount, TRUE, DEBUG_TIMER_VECTOR);
|
||||
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: FSB Clock = %d\n", PcdGet32(PcdFSBClock)));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: Divisor = %d\n", ApicTimerDivisor));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: Frequency = %d\n", ApicTimerFrequency));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: InitialCount = %d\n", InitialCount));
|
||||
|
||||
if (DumpFlag) {
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: FSB Clock = %d\n", PcdGet32(PcdFSBClock)));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: Divisor = %d\n", ApicTimerDivisor));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: Frequency = %d\n", ApicTimerFrequency));
|
||||
DEBUG ((EFI_D_INFO, "Debug Timer: InitialCount = %d\n", InitialCount));
|
||||
}
|
||||
if (TimerFrequency != NULL) {
|
||||
*TimerFrequency = ApicTimerFrequency;
|
||||
}
|
||||
|
|
|
@ -19,12 +19,14 @@
|
|||
Initialize CPU local APIC timer.
|
||||
|
||||
@param[out] TimerFrequency Local APIC timer frequency returned.
|
||||
@param[in] DumpFlag If TRUE, dump Local APIC timer's parameter.
|
||||
|
||||
@return 32-bit Local APIC timer init count.
|
||||
**/
|
||||
UINT32
|
||||
InitializeDebugTimer (
|
||||
OUT UINT32 *TimerFrequency
|
||||
OUT UINT32 *TimerFrequency,
|
||||
IN BOOLEAN DumpFlag
|
||||
);
|
||||
|
||||
/**
|
||||
|
|
|
@ -306,7 +306,7 @@ SetupDebugAgentEnvironment (
|
|||
//
|
||||
// Initialize Debug Timer hardware and save its initial count and frequency
|
||||
//
|
||||
mDebugMpContext.DebugTimerInitCount = InitializeDebugTimer (&DebugTimerFrequency);
|
||||
mDebugMpContext.DebugTimerInitCount = InitializeDebugTimer (&DebugTimerFrequency, TRUE);
|
||||
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);
|
||||
//
|
||||
// Initialize debug communication port
|
||||
|
|
|
@ -403,7 +403,7 @@ InitializeDebugAgent (
|
|||
//
|
||||
// Initialize Debug Timer hardware and save its frequency
|
||||
//
|
||||
InitializeDebugTimer (&DebugTimerFrequency);
|
||||
InitializeDebugTimer (&DebugTimerFrequency, TRUE);
|
||||
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);
|
||||
|
||||
Phase2Context.InitFlag = InitFlag;
|
||||
|
@ -535,7 +535,7 @@ InitializeDebugAgent (
|
|||
//
|
||||
// Initialize Debug Timer hardware and save its frequency
|
||||
//
|
||||
InitializeDebugTimer (&DebugTimerFrequency);
|
||||
InitializeDebugTimer (&DebugTimerFrequency, TRUE);
|
||||
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);
|
||||
//
|
||||
// Update IDT entry to save the location pointer saved mailbox pointer
|
||||
|
|
|
@ -242,7 +242,7 @@ InitializeDebugAgent (
|
|||
//
|
||||
// Initialize Debug Timer hardware and save its frequency
|
||||
//
|
||||
InitializeDebugTimer (&DebugTimerFrequency);
|
||||
InitializeDebugTimer (&DebugTimerFrequency, TRUE);
|
||||
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);
|
||||
|
||||
DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((DEBUG_PORT_HANDLE) (UINTN)Mailbox->DebugPortHandle, NULL);
|
||||
|
@ -283,7 +283,7 @@ InitializeDebugAgent (
|
|||
GetApicTimerState (NULL, &PeriodicMode, NULL);
|
||||
TimerCycle = GetApicTimerInitCount ();
|
||||
if (PeriodicMode != TRUE || TimerCycle == 0) {
|
||||
InitializeDebugTimer (NULL);
|
||||
InitializeDebugTimer (NULL, FALSE);
|
||||
DisableApicTimerInterrupt ();
|
||||
}
|
||||
Mailbox = GetMailboxPointer ();
|
||||
|
@ -348,7 +348,7 @@ InitializeDebugAgent (
|
|||
//
|
||||
// Initialize Debug Timer hardware and save its frequency
|
||||
//
|
||||
InitializeDebugTimer (&DebugTimerFrequency);
|
||||
InitializeDebugTimer (&DebugTimerFrequency, TRUE);
|
||||
UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);
|
||||
EnableInterrupts ();
|
||||
|
||||
|
|
Loading…
Reference in New Issue