summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-04-12 17:19:05 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2014-04-12 17:19:05 -0300
commit94ad0c6adbe3e23c9d9855817f658ed15096e927 (patch)
treecd605686bf398798aa905c7af12b7beabab3b8a2 /kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch
parentd0cbd232d64b68d67342d9d46c9cf8dff82e489a (diff)
linux-libre-{pae,xen}-3.14-5: fix a futex bug and add some iwlwifi fixes
Diffstat (limited to 'kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch')
-rw-r--r--kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch96
1 files changed, 0 insertions, 96 deletions
diff --git a/kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch b/kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch
deleted file mode 100644
index 8cf776842..000000000
--- a/kernels/linux-libre-pae/0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From ec8ec8362c46fd86571204d0fcce11c03477e5c5 Mon Sep 17 00:00:00 2001
-From: Matt Fleming <matt@console-pimps.org>
-Date: Wed, 9 Apr 2014 10:33:49 +0200
-Subject: [PATCH 7/7] Fix the use of code32_start in the EFI boot stub
-
----
- arch/x86/boot/compressed/eboot.c | 5 +++--
- arch/x86/boot/compressed/head_32.S | 14 ++++++++------
- arch/x86/boot/compressed/head_64.S | 9 +++------
- 3 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c
-index a7677ba..78cbb2d 100644
---- a/arch/x86/boot/compressed/eboot.c
-+++ b/arch/x86/boot/compressed/eboot.c
-@@ -425,6 +425,9 @@ void setup_graphics(struct boot_params *boot_params)
- * Because the x86 boot code expects to be passed a boot_params we
- * need to create one ourselves (usually the bootloader would create
- * one for us).
-+ *
-+ * The caller is responsible for filling out ->code32_start in the
-+ * returned boot_params.
- */
- struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table)
- {
-@@ -483,8 +486,6 @@ struct boot_params *make_boot_params(void *handle, efi_system_table_t *_table)
- hdr->vid_mode = 0xffff;
- hdr->boot_flag = 0xAA55;
-
-- hdr->code32_start = (__u64)(unsigned long)image->image_base;
--
- hdr->type_of_loader = 0x21;
-
- /* Convert unicode cmdline to ascii */
-diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
-index 9116aac..f45ab7a 100644
---- a/arch/x86/boot/compressed/head_32.S
-+++ b/arch/x86/boot/compressed/head_32.S
-@@ -50,6 +50,13 @@ ENTRY(efi_pe_entry)
- pushl %eax
- pushl %esi
- pushl %ecx
-+
-+ call reloc
-+reloc:
-+ popl %ecx
-+ subl reloc, %ecx
-+ movl %ecx, BP_code32_start(%eax)
-+
- sub $0x4, %esp
-
- ENTRY(efi_stub_entry)
-@@ -63,12 +70,7 @@ ENTRY(efi_stub_entry)
- hlt
- jmp 1b
- 2:
-- call 3f
--3:
-- popl %eax
-- subl $3b, %eax
-- subl BP_pref_address(%esi), %eax
-- add BP_code32_start(%esi), %eax
-+ movl BP_code32_start(%esi), %eax
- leal preferred_addr(%eax), %eax
- jmp *%eax
-
-diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
-index c5c1ae0..b10fa66 100644
---- a/arch/x86/boot/compressed/head_64.S
-+++ b/arch/x86/boot/compressed/head_64.S
-@@ -217,6 +217,8 @@ ENTRY(efi_pe_entry)
- cmpq $0,%rax
- je 1f
- mov %rax, %rdx
-+ leaq startup_32(%rip), %rax
-+ movl %eax, BP_code32_start(%rdx)
- popq %rsi
- popq %rdi
-
-@@ -230,12 +232,7 @@ ENTRY(efi_stub_entry)
- hlt
- jmp 1b
- 2:
-- call 3f
--3:
-- popq %rax
-- subq $3b, %rax
-- subq BP_pref_address(%rsi), %rax
-- add BP_code32_start(%esi), %eax
-+ movl BP_code32_start(%esi), %eax
- leaq preferred_addr(%rax), %rax
- jmp *%rax
-
---
-1.9.1
-