[grub] Wooooo
Peter Jones
pjones at fedoraproject.org
Thu Aug 25 14:49:25 UTC 2011
commit ea32b514fad273196f8324cbcbfe9f2ff8e817a7
Author: Peter Jones <pjones at redhat.com>
Date: Thu Jul 28 16:15:40 2011 -0400
Wooooo
grub-larger-efi-stack-frame.patch | 70 +++++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
---
diff --git a/grub-larger-efi-stack-frame.patch b/grub-larger-efi-stack-frame.patch
new file mode 100644
index 0000000..2f036ba
--- /dev/null
+++ b/grub-larger-efi-stack-frame.patch
@@ -0,0 +1,70 @@
+From: Peter Jones <pjones at redhat.com>
+Date: Mon, 14 Mar, 2011 09:29:00 -0500
+Subject: [PATCH] Use larger stack frame for x64_call[0..4]()
+
+This fixes rhbz# 669765
+
+diff --git a/efi/x86_64/callwrap.c b/efi/x86_64/callwrap.c
+index eb8fd25..bd5dd5e 100644
+--- a/efi/x86_64/callwrap.c
++++ b/efi/x86_64/callwrap.c
+@@ -113,9 +113,9 @@ unsigned long long x64_call0(void *func)
+ register unsigned long long r10 __asm__("r10");
+ register unsigned long long r11 __asm__("r11");
+ __asm__ __volatile__(
+- alloc_win_stack_frame(4)
++ alloc_win_stack_frame(5)
+ "call *%[fptr]\n\t"
+- free_win_stack_frame(4)
++ free_win_stack_frame(5)
+ : "=a" (ret), "=c" (dummy), "=d" (dummy),
+ "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11)
+ : [fptr] "r" (func));
+@@ -130,9 +130,9 @@ unsigned long long x64_call1(void *func, unsigned long long arg1)
+ register unsigned long long r10 __asm__("r10");
+ register unsigned long long r11 __asm__("r11");
+ __asm__ __volatile__(
+- alloc_win_stack_frame(4)
++ alloc_win_stack_frame(5)
+ "call *%[fptr]\n\t"
+- free_win_stack_frame(4)
++ free_win_stack_frame(5)
+ : "=a" (ret), "=c" (dummy), "=d" (dummy),
+ "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11)
+ : "c" (arg1),
+@@ -148,9 +148,9 @@ unsigned long long x64_call2(void *func, unsigned long long arg1, unsigned long
+ register unsigned long long r10 __asm__("r10");
+ register unsigned long long r11 __asm__("r11");
+ __asm__ __volatile__(
+- alloc_win_stack_frame(4)
++ alloc_win_stack_frame(5)
+ "call *%[fptr]\n\t"
+- free_win_stack_frame(4)
++ free_win_stack_frame(5)
+ : "=a" (ret), "=c" (dummy), "=d" (dummy),
+ "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11)
+ : "c" (arg1), "d" (arg2),
+@@ -170,9 +170,9 @@ unsigned long long x64_call3(
+ register unsigned long long r10 __asm__("r10");
+ register unsigned long long r11 __asm__("r11");
+ __asm__ __volatile__(
+- alloc_win_stack_frame(4)
++ alloc_win_stack_frame(5)
+ "call *%[fptr]\n\t"
+- free_win_stack_frame(4)
++ free_win_stack_frame(5)
+ : "=a" (ret), "=c" (dummy), "=d" (dummy),
+ "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11)
+ : "c" (arg1), "d" (arg2), "r" (r8),
+@@ -193,9 +193,9 @@ unsigned long long x64_call4(
+ register unsigned long long r10 __asm__("r10");
+ register unsigned long long r11 __asm__("r11");
+ __asm__ __volatile__(
+- alloc_win_stack_frame(4)
++ alloc_win_stack_frame(5)
+ "call *%[fptr]\n\t"
+- free_win_stack_frame(4)
++ free_win_stack_frame(5)
+ : "=a" (ret), "=c" (dummy), "=d" (dummy),
+ "=r" (r8), "=r" (r9), "=r" (r10), "=r" (r11)
+ : "c" (arg1), "d" (arg2), "r" (r8), "r" (r9),
More information about the scm-commits
mailing list