Revision: 14279
          http://edk2.svn.sourceforge.net/edk2/?rev=14279&view=rev
Author:   erictian
Date:     2013-04-16 02:45:36 +0000 (Tue, 16 Apr 2013)
Log Message:
-----------
MdeMdeModulePkg/BootScriptExecutorDxe: Replaces absolute addressing that 
requires a relocation entry with PC relative addressing that does not require a 
relocation entry. This patch is required to make this file assemble and link 
with Xcode

Signed-off-by: Andrew Fish <[email protected]>
Reviewed-by: Feng Tian <[email protected]>
Reviewed-by: Liming Gao <[email protected]>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S

Modified: 
trunk/edk2/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S    
2013-04-15 03:46:54 UTC (rev 14278)
+++ trunk/edk2/MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/X64/S3Asm.S    
2013-04-16 02:45:36 UTC (rev 14279)
@@ -2,7 +2,7 @@
 #   This is the assembly code for transferring to control to OS S3 waking 
vector
 #   for X64 platform
 #
-# Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
 #
 # This program and the accompanying materials are
 # licensed and made available under the terms and conditions of the BSD License
@@ -18,14 +18,14 @@
 ASM_PFX(AsmTransferControl):
     # rcx S3WakingVector    :DWORD
     # rdx AcpiLowMemoryBase :DWORD
-    lea   _AsmTransferControl_al_0000, %eax 
+    lea   _AsmTransferControl_al_0000(%rip), %eax 
     movq  $0x2800000000, %r8 
     orq   %r8, %rax
     pushq %rax
     shrd  $20, %ecx, %ebx
     andl  $0x0f, %ecx 
     movw  %cx, %bx
-    movl  %ebx, jmp_addr 
+    movl  %ebx, jmp_addr(%rip) 
     lret
 _AsmTransferControl_al_0000:
     .byte    0x0b8, 0x30, 0      # mov ax, 30h as selector
@@ -124,7 +124,7 @@
     popq     %rcx
     popq     %rax                         # restore all volatile registers
     jnz      L1
-    jmpq     *ASM_PFX(mOriginalHandler)
+    jmpq     *ASM_PFX(mOriginalHandler)(%rip)
 L1:
     addq     $0x08, %rsp                  # skip error code for PF
     iretq

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to