audk/SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug
Brian J. Johnson 602adebbe6 PeCoffExtraActionLibDebug: Restore debug registers in PeCoffExtraActionLibDebug
PeCoffExtraActionLibDebug uses the debug registers to pass module load information to the 
DebugAgent, then restores the old register values.
However, it was missing code to restore Dr7 in the
DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3 case.  This broke hardware breakpoints and watchpoints.  
It could also lose modifications the debugger made to Cr4.

Restore the Dr7 and Cr4 values correctly in the
DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3 case, as well as the 
DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT 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>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17071 6f19259b-4bc3-4df7-8a09-765794883524
2015-03-25 01:51:23 +00:00
..
Ia32 1. DebugAgentLib will install reserved vector table to persist vectors. 2013-11-22 06:30:01 +00:00
X64 1. DebugAgentLib will install reserved vector table to persist vectors. 2013-11-22 06:30:01 +00:00
PeCoffExtraActionLib.c PeCoffExtraActionLibDebug: Restore debug registers in PeCoffExtraActionLibDebug 2015-03-25 01:51:23 +00:00
PeCoffExtraActionLib.h 1. DebugAgentLib will install reserved vector table to persist vectors. 2013-11-22 06:30:01 +00:00
PeCoffExtraActionLib.uni SourceLevelDebugPkg: Convert non DOS format files to DOS format 2014-09-03 08:49:15 +00:00
PeCoffExtraActionLibDebug.inf SourceLevelDebugPkg: INF/DEC file updates to EDK II packages 2014-08-28 05:13:05 +00:00