X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=SourceLevelDebugPkg%2FLibrary%2FDebugAgent%2FDebugAgentCommon%2FIa32%2FAsmFuncs.S;h=cfeeea0472c60675c825f7815c0d77dad4df2fe6;hb=93c0bdec2807cd968a89a0ac01a379a90fa50f93;hp=365947f4d581d1ef2eb753001ccbb11d1e34990d;hpb=44538ba5aa759c4039fc6c588d33a7fe03503c3f;p=mirror_edk2.git
diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
index 365947f4d5..cfeeea0472 100644
--- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
+++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.S
@@ -1,6 +1,6 @@
#------------------------------------------------------------------------------
#
-# Copyright (c) 2010, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -281,6 +281,9 @@ NoExtrPush:
movl %esp,%edi
.byte 0x0f, 0xae, 0x07 # fxsave [edi]
+## save the exception data
+ pushl 8(%esp)
+
## Clear Direction Flag
cld
@@ -290,6 +293,9 @@ NoExtrPush:
call ASM_PFX(InterruptProcess)
addl $8,%esp
+## skip the exception data
+ addl $4,%esp
+
## FX_SAVE_STATE_IA32 FxSaveState;
movl %esp,%esi
.byte 0x0f, 0xae, 0x0e # fxrstor [esi]