]> git.proxmox.com Git - mirror_edk2.git/commit
PeCoffExtraActionLibDebug: Restore debug registers in PeCoffExtraActionLibDebug
authorBrian J. Johnson <bjohnson@sgi.com>
Wed, 25 Mar 2015 01:51:23 +0000 (01:51 +0000)
committervanjeff <vanjeff@Edk2>
Wed, 25 Mar 2015 01:51:23 +0000 (01:51 +0000)
commit602adebbe6291c3b92532ccee5c38dc4c42d8959
tree399eeb1fdf887415055b835aef8286d110e63be2
parente29fc5022042f7c86b07673741749cf3de5f3816
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
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.c