]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuDxe/X64/CpuAsm.S
Clean up DEC files:
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / X64 / CpuAsm.S
index d6327325bfd35304d46928b5067e26350c3fba45..8f191320a8e6f81e1d1b371059742e8b645eb619 100644 (file)
@@ -2,7 +2,7 @@
 \r
 #------------------------------------------------------------------------------\r
 #*\r
-#*   Copyright (c) 2008 - 2009, Intel Corporation. All rights reserved.<BR>\r
+#*   Copyright (c) 2008 - 2010, 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
@@ -218,16 +218,8 @@ CommonInterruptEntry_al_0000:
 #; UINT64  Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;\r
     movq    %dr7, %rax\r
     pushq   %rax\r
-#; clear Dr7 while executing debugger itself\r
-    xorq    %rax, %rax\r
-    movq    %rax, %dr7\r
-\r
     movq    %dr6, %rax\r
     pushq   %rax\r
-#; insure all status bits in dr6 are clear...\r
-    xorq    %rax, %rax\r
-    movq    %rax, %dr6\r
-\r
     movq    %dr3, %rax\r
     pushq   %rax\r
     movq    %dr2, %rax\r
@@ -277,18 +269,9 @@ nonNullValue:
     addq    $512, %rsp\r
 \r
 #; UINT64  Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;\r
-    popq    %rax\r
-    movq    %rax, %dr0\r
-    popq    %rax\r
-    movq    %rax, %dr1\r
-    popq    %rax\r
-    movq    %rax, %dr2\r
-    popq    %rax\r
-    movq    %rax, %dr3\r
-#; skip restore of dr6.  We cleared dr6 during the context save.\r
-    addq    $8, %rsp\r
-    popq    %rax\r
-    movq    %rax, %dr7\r
+#; Skip restoration of DRx registers to support in-circuit emualators\r
+#; or debuggers set breakpoint in interrupt/exception context\r
+    addq    $48, %rsp\r
 \r
 #; UINT64  Cr0, Cr1, Cr2, Cr3, Cr4, Cr8;\r
     popq    %rax\r