]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/AsmFuncs.S
This revision can only work with Intel(c) UDK Debugger Tool version 1.2 or greater...
[mirror_edk2.git] / SourceLevelDebugPkg / Library / DebugAgent / DebugAgentCommon / X64 / AsmFuncs.S
index 0d78e7d77412142f350f42d86cc305f9c0087767..3de9767dba3a6c86bf556d99ff66d5fe7185054a 100644 (file)
@@ -1,6 +1,6 @@
 #------------------------------------------------------------------------------\r
 #\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
@@ -302,6 +302,9 @@ NoExtrPush:
    movq    %rsp, %rdi\r
    .byte   0x0f, 0xae, 0b00000111\r
 \r
+## save the exception data;\r
+   pushq   16(%rbp)\r
+\r
 ## Clear Direction Flag\r
   cld\r
 \r
@@ -313,9 +316,12 @@ NoExtrPush:
   # Per X64 calling convention, allocate maximum parameter stack space\r
   # and make sure RSP is 16-byte aligned\r
   #\r
-   subq    $(4 * 8), %rsp\r
+   subq    $(32 + 8), %rsp\r
    call    ASM_PFX(InterruptProcess)\r
-   addq    $(4 * 8), %rsp\r
+   addq    $(32 + 8), %rsp\r
+\r
+## skip the exception data;\r
+   addq    $8, %rsp\r
 \r
 ## FX_SAVE_STATE_X64 FxSaveState;\r
 \r