]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Avoid EFI boot services when loading Linux.
authorMatthew Garrett <mjg@redhat.com>
Sun, 4 Mar 2012 00:10:55 +0000 (01:10 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sun, 4 Mar 2012 00:10:55 +0000 (01:10 +0100)
* grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
avoid_efi_bootservices. All users updated.
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
argument avoid_efi_bootservices. All users updated.
Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
* grub-core/loader/i386/linux.c (allocate_pages): New arguments
align, min_align, relocatable, prefered_address. All users updated.
Allocate avoiding boot services if kernel is relocatable.
(grub_cmd_linux): Check if kernel is relocatable.
* grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
(grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
avoid_efi_boot_services.
(grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
* include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
(linux_kernel_params): Likewise.

Also-By: Vladimir Serbinenko <phcoder@gmail.com>
1  2 
ChangeLog

diff --cc ChangeLog
index d4a34fc1dbef6a9a50164ddeb8babc008975bc9b,ffb568afb449c79383bece6f58b9ec07d4070f32..8a7f5088e54b551035c403ab2931b8e46d665299
+++ b/ChangeLog
@@@ -1,23 -1,3 +1,45 @@@
++2012-03-03  Matthew Garrett  <mjg@redhat.com>
++2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
++
++      Avoid EFI boot services when loading Linux.
++
++      * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
++      avoid_efi_bootservices. All users updated.
++      * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
++      argument avoid_efi_bootservices. All users updated.
++      Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
++      * grub-core/loader/i386/linux.c (allocate_pages): New arguments
++      align, min_align, relocatable, prefered_address. All users updated.
++      Allocate avoiding boot services if kernel is relocatable.
++      (grub_cmd_linux): Check if kernel is relocatable.
++      * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
++      (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
++      Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
++      avoid_efi_boot_services.
++      (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
++      * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
++      (linux_kernel_params): Likewise.
++
 +2012-03-03  Matthew Garrett  <mjg@redhat.com>
 +2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      Use EDID on EFI.
 +
 +      * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
 +      datasize_out.
 +      * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
 +      modes. Set gop_handle.
 +      (grub_video_gop_get_edid): New function.
 +      (grub_gop_get_preferred_mode): Likewise.
 +      (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
 +      (grub_video_efi_gop_adapter): Set .get_edid.
 +      * include/grub/efi/edid.h: New file.
 +      * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
 +
 +2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
 +
 +      * util/grub-install.in: Load efivars unconditionally.
 +
  2012-03-03  Vladimir Serbinenko  <phcoder@gmail.com>
  
        * po/Rules-piglatin: Change suffix from .po-update-en to