]> git.proxmox.com Git - mirror_edk2.git/commitdiff
A complement fix for revision 11664 to update GCC assembly files : clear the directio...
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 17 May 2011 08:35:20 +0000 (08:35 +0000)
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 17 May 2011 08:35:20 +0000 (08:35 +0000)
Signed-off-by: rsun3
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11670 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/DebugSupportDxe/Ia32/AsmFuncs.S
MdeModulePkg/Universal/DebugSupportDxe/X64/AsmFuncs.S
UefiCpuPkg/CpuDxe/Ia32/CpuAsm.S
UefiCpuPkg/CpuDxe/X64/CpuAsm.S

index b6108227bd83138fea03cfcd770cf92dec35aa2b..fd1a96b76ff4855f0ed24298242c812ed7ced041 100644 (file)
@@ -1,7 +1,7 @@
 #/**@file\r
 # Low leve IA32 specific debug support functions.\r
 #\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2011, 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
@@ -276,6 +276,9 @@ ASM_PFX(CommonIdtEntry):
         # They MUST be.  If they are not, a GP fault will occur.\r
         fxsave (%edi)\r
 \r
+## UEFI calling convention for IA32 requires that Direction flag in EFLAGs is clear\r
+        cld\r
+                \r
 ## UINT32  ExceptionData;\r
         mov    0x0,%eax\r
         push   %eax\r
index 6fb92e43505bc63e1ea4caee59a44bc420acc749..e6a40e8daddad49f7fffcee8304fbde87e036cc6 100644 (file)
@@ -1,7 +1,7 @@
 ///**@file
 // Low leve x64 specific debug support functions.
 //
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+// Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
 // Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
 // This program and the accompanying materials
 // are licensed and made available under the terms and conditions of the BSD License
@@ -357,6 +357,9 @@ ExtraPushDone:
                 #     FXSTOR_RDI
                 fxsave      (%rdi)
 
+// UEFI calling convention for x64 requires that Direction flag in EFLAGs is clear
+                cld
+                
 // UINT64  ExceptionData;
                 movq    ASM_PFX(ExceptData)(%rip),  %rax
                 pushq   %rax
index d3e1dee624096da54bfbc3c4c950830cfe12b1ee..38f46ab335d7bb8cc152a0f6c466a4233cfae4b5 100644 (file)
@@ -1,6 +1,6 @@
 #------------------------------------------------------------------------------\r
 #*\r
-#*   Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+#*   Copyright (c) 2006 - 2011, 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
@@ -274,6 +274,9 @@ ErrorCodeAndVectorOnStack:
     movl    %esp, %edi\r
     .byte      0x0f, 0x0ae, 0x07 #fxsave [edi]\r
 \r
+#; UEFI calling convention for IA32 requires that Direction flag in EFLAGs is clear\r
+    cld\r
+\r
 #; UINT32  ExceptionData;\r
     pushl   8(%ebp)\r
 \r
index 8f191320a8e6f81e1d1b371059742e8b645eb619..f1481d85d61ea456c2d5828950862da7c91c38b8 100644 (file)
@@ -2,7 +2,7 @@
 \r
 #------------------------------------------------------------------------------\r
 #*\r
-#*   Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r
+#*   Copyright (c) 2008 - 2011, 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
@@ -234,6 +234,9 @@ CommonInterruptEntry_al_0000:
     movq    %rsp, %rdi\r
     .byte 0x0f, 0x0ae, 0x07 #fxsave [rdi]\r
 \r
+#; UEFI calling convention for x64 requires that Direction flag in EFLAGs is clear\r
+    cld\r
+\r
 #; UINT32  ExceptionData;\r
     pushq   16(%rbp)\r
 \r