Brian J. Johnson
2015-07-02 15:55:51 UTC
Recent changes to debug timer handling ended up leaving the timer
disabled in PEI. This made it impossible to stop execution in PEI
externally via the debugger. Enable the timer when
InitializeDebugAgent calls InitializeDebugAgentPhase2, as well as when
it returns directly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brian J. Johnson <***@sgi.com>
---
.../Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
| 4 ++++
1 file changed, 4 insertions(+)
diff --git
a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
index fcc7a4b..ea75742 100644
---
a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
+++
b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
@@ -684,6 +684,10 @@ InitializeDebugAgentPhase2 (
TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);
}
//
+ // Enable Debug Timer interrupt
+ //
+ SaveAndSetDebugTimerInterrupt (TRUE);
+ //
// Enable CPU interrupts so debug timer interrupts can be delivered
//
EnableInterrupts ();
disabled in PEI. This made it impossible to stop execution in PEI
externally via the debugger. Enable the timer when
InitializeDebugAgent calls InitializeDebugAgentPhase2, as well as when
it returns directly.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brian J. Johnson <***@sgi.com>
---
.../Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
| 4 ++++
1 file changed, 4 insertions(+)
diff --git
a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
index fcc7a4b..ea75742 100644
---
a/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
+++
b/SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
@@ -684,6 +684,10 @@ InitializeDebugAgentPhase2 (
TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);
}
//
+ // Enable Debug Timer interrupt
+ //
+ SaveAndSetDebugTimerInterrupt (TRUE);
+ //
// Enable CPU interrupts so debug timer interrupts can be delivered
//
EnableInterrupts ();
--
1.9.1
1.9.1