grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] bug fix for x86_64 efi


From: Peter Cros
Subject: Re: [PATCH] bug fix for x86_64 efi
Date: Sat, 21 Feb 2009 01:28:56 +1100

Tested the patch applied to rev 1996 for grub.efi 64 bit and 32 bit, on Imac81 (4GB ram), MacBookPro41 (4GB and 2GB ram)  MacBook21 (i386)
with Macosx 10.4 10.5, ubuntu810.
All good.

64bit Macs have other ongoing EFI problems with linux kernel initializtion and keyboard.


On Fri, Feb 20, 2009 at 2:12 AM, Bean <address@hidden> wrote:
Hi,

This patch contains several important update for x86_64 efi:

1, Support memory larger than 2G.
2, Fix a bug in efi_call_6 that could cause chainloadering osx to fail.
3, Improve the method to detect frame buffer address and line length
in linux loader.

2009-02-19  Bean  <address@hidden>

       * configure.ac: Check for -mcmodel=large in x86_64 target.

       * include/grub/efi/api.h (efi_call_10): New macro.
       (efi_wrap_10): New function.

       * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
       (GRUB_PE32_REL_BASED_HIGH): Likewise.
       (GRUB_PE32_REL_BASED_LOW): Likewise.
       (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
       (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
       (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
       (GRUB_PE32_REL_BASED_SECTION): Likewise.
       (GRUB_PE32_REL_BASED_REL): Likewise.
       (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
       (GRUB_PE32_REL_BASED_DIR64): Likewise.
       (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.

       * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
       issue.

       * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
       (efi_wrap_10): New function.

       * kern/x86_64/efi/startup.S (codestart): Use relative addressing.

       * loader/efi/appleloader.c (devpath_5): Add support for late 2008
       MB/MBP model (NV chipset).
       (devdata_devs): Add devpath_5 to the list.

       * load/i386/efi/linux.c (video_base): Remove variable.
       (RGB_MASK): New macro.
       (RGB_MAGIC): Likewise.
       (LINE_MIN): Likewise.
       (LINE_MAX): Likewise.
       (FBTEST_STEP): Likewise.
       (FBTEST_COUNT): Likewise.
       (fb_list): New variable.
       (grub_find_video_card): Remove function.
       (find_framebuf): New function.
       (grub_linux_setup_video): Use find_framebuf to get frame buffer and
       line length.

       * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
       problem for x86_64.

--
Bean

_______________________________________________
Grub-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/grub-devel




--
Cros (pxw)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]