]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 31 Mar 2011 14:48:36 +0000 (16:48 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Thu, 31 Mar 2011 14:48:36 +0000 (16:48 +0200)
stack alignment.
(efi_wrap_1): Likewise.
(efi_wrap_2): Likewise.
(efi_wrap_3): Likewise.
(efi_wrap_4): Likewise.
(efi_wrap_5): Likewise.
(efi_wrap_6): Likewise.
(efi_wrap_10): Likewise.
Based on information by: Red Hat/Peter Jones.

ChangeLog
grub-core/kern/x86_64/efi/callwrap.S

index 25aa0a49647d2f1c4b3ddccdea069bb46cb8c4e7..847d04b031dfd5a29fd47c6bf083523653811345 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2011-03-31  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
+       stack alignment.
+       (efi_wrap_1): Likewise.
+       (efi_wrap_2): Likewise.
+       (efi_wrap_3): Likewise.
+       (efi_wrap_4): Likewise.
+       (efi_wrap_5): Likewise.
+       (efi_wrap_6): Likewise.
+       (efi_wrap_10): Likewise.
+       Based on information by: Red Hat/Peter Jones.
+
 2011-03-31  Colin Watson  <cjwatson@ubuntu.com>
 
        * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
index 1946732aee91f2bb314ea776a4a31e233ca9f712..aae267872a6c24f703f6327127c6f83d373aa368 100644 (file)
         .text
 
 FUNCTION(efi_wrap_0)
-       subq $40, %rsp
+       subq $48, %rsp
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_1)
-       subq $40, %rsp
+       subq $48, %rsp
        mov  %rsi, %rcx
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_2)
-       subq $40, %rsp
+       subq $48, %rsp
        mov  %rsi, %rcx
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_3)
-       subq $40, %rsp
+       subq $48, %rsp
        mov  %rcx, %r8
        mov  %rsi, %rcx
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_4)
-       subq $40, %rsp
+       subq $48, %rsp
        mov %r8, %r9
        mov %rcx, %r8
        mov %rsi, %rcx
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_5)
-       subq $40, %rsp
+       subq $48, %rsp
        mov %r9, 32(%rsp)
        mov %r8, %r9
        mov %rcx, %r8
        mov %rsi, %rcx
        call *%rdi
-       addq $40, %rsp
+       addq $48, %rsp
        ret
 
 FUNCTION(efi_wrap_6)
-       subq $56, %rsp
-       mov 56+8(%rsp), %rax
+       subq $64, %rsp
+       mov 64+8(%rsp), %rax
        mov %rax, 40(%rsp)
        mov %r9, 32(%rsp)
        mov %r8, %r9
        mov %rcx, %r8
        mov %rsi, %rcx
        call *%rdi
-       addq $56, %rsp
+       addq $64, %rsp
        ret
 
 FUNCTION(efi_wrap_10)
-       subq $88, %rsp
-       mov 88+40(%rsp), %rax
+       subq $96, %rsp
+       mov 96+40(%rsp), %rax
        mov %rax, 72(%rsp)
-       mov 88+32(%rsp), %rax
+       mov 96+32(%rsp), %rax
        mov %rax, 64(%rsp)
-       mov 88+24(%rsp), %rax
+       mov 96+24(%rsp), %rax
        mov %rax, 56(%rsp)
-       mov 88+16(%rsp), %rax
+       mov 96+16(%rsp), %rax
        mov %rax, 48(%rsp)
-       mov 88+8(%rsp), %rax
+       mov 96+8(%rsp), %rax
        mov %rax, 40(%rsp)
        mov %r9, 32(%rsp)
        mov %r8, %r9
        mov %rcx, %r8
        mov %rsi, %rcx
        call *%rdi
-       addq $88, %rsp
+       addq $96, %rsp
        ret