audk/SourceLevelDebugPkg
Brian J. Johnson 3b87e3881e SourceLevelDebugPkg: Fix PEI timer interrupt regression
Recent changes to debug timer initialization (commit 2befbc82, svn 17572)
modified the Sec/Pei InitializeDebugAgent() routine to enable debug timer
interrupts.  This causes problems in the DEBUG_AGENT_INIT_POSTMEM_SEC case:
the callers appear to assume that if they block timer interrupts before the
call, interrupts will remain blocked afterwards.

It is not always safe to have interrupts enabled on return from
InitializeDebugAgent().  For instance, after calling InitializeDebugAgent(),
OvmfPkg's TemporaryRamMigration() moves the stack, heap, and IDT to RAM, then
switches to the new stack.  Only then does it reenable timer interrupts.
Taking an interrupt during this process can corrupt state, causing crashes.

Do not unmask the debug timer interrupt in the DEBUG_AGENT_INIT_POSTMEM_SEC
case.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brian J. Johnson <bjohnson@sgi.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17893 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-09 02:29:58 +00:00
..
DebugAgentDxe SourceLevelDebugPkg/DebugAgentDxe: Move help info from DxeDebugAgent 2015-05-18 01:21:30 +00:00
DebugAgentPei SourceLevelDebugPkg: Convert non DOS format files to DOS format 2014-09-03 08:49:15 +00:00
Include Use RLE (Run Length Encoding) to improve debugging performance. 2015-01-20 08:46:31 +00:00
Library SourceLevelDebugPkg: Fix PEI timer interrupt regression 2015-07-09 02:29:58 +00:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt Update copyright format 2012-04-24 06:49:39 +00:00
Readme.txt Correct the location where the HOST software can be downloaded. 2013-03-27 05:50:20 +00:00
SourceLevelDebugPkg.dec SourceLevelDebugPkg: Refine the format of meta data files. 2015-01-19 02:44:10 +00:00
SourceLevelDebugPkg.dsc SourceLevelDebugPkg: Refine the format of meta data files. 2015-01-19 02:44:10 +00:00
SourceLevelDebugPkg.uni SourceLevelDebugPkg: Convert non DOS format files to DOS format 2014-09-03 08:49:15 +00:00
SourceLevelDebugPkgExtra.uni SourceLevelDebugPkg: INF/DEC file updates to EDK II packages 2014-08-28 05:14:51 +00:00

Readme.txt

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

UDK based firmware on UEFI IA-32 and UEFI x64 platforms can be debugged with
SourceLevelDebugPkg in conjunction with Intel(R) UEFI Development Kit Debugger
Tool (Intel (R) UDK Debugger Tool).

The Intel(R) UDK Debugger Tool and its detailed user manual can be obtained
from: http://www.uefidk.com/develop.