grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 7/7] Add support for ARM UEFI ("EFI") platforms


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: [PATCH 7/7] Add support for ARM UEFI ("EFI") platforms
Date: Sat, 11 May 2013 10:42:48 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12

Committed to arm branch after fixing few bugs.

On 09.05.2013 20:08, Leif Lindholm wrote:

> On Tue, Apr 09, 2013 at 07:30:46PM +0200, Vladimir 'φ-coder/phcoder' 
> Serbinenko wrote:
>>> Since I didn't want to have to duplicate my relocation handling
>>> between kernel and grub-mkimage, I use kern/arm/dl.c for both.
>>
>> Could you move the common functions to dl_helper.c as in ISA64?
>  
> Done in the attached patch.
> 
>>> In order to do that in an endianess-safe way, I need to be able to
>>> export target platform information over there, as well as the
>>> host_to_target/target_to_host macros. This would involve moving these
>>> macros, as well as the struct image_target_desc definition, out of
>>> grub-mkimage.c.
>>
>> Is big-endian ARM of any interest at all? I was under impression that it
>> was limited to few devices and not supported by either u-boot or EFI.
>> You still have grub_le_to_cpu / grub_cpu_to_le
>  
> It shouldn't be of much interest at the boot stage, but even if it is
> there are two things that make life easier:
> 1) With the endianess support introduced in ARMv6 (supported by RasPi),
>    instructions are always little-endian. This would leave only the
>    abs32 relocations as needing to be configured for a specific target.
> 2) The UEFI spec (2.3.1) states that on an ARM processor, little-endian
>    will always be the configured state of the data interface(s).
> 
>>> However, this would also make it possible to do the same for IA64,
>>> and get rid of some code duplication between grub-mkimagexx.c and
>>> kern/ia64/dl.c.
>>
>> I already did. For IA64 I simply used le_to_cpu/cpu_to_le as ia64-efi is
>> always little-endian
> 
> I was referring more to functions like add_value_to_slot_* that are
> duplicated between these files. But of course, given the IA64 fixed
> endianess, the other part of my comment was irrelevant :)
> 
> Attached is a patch that:
> - incoorporates Francesco's bug fixes
> - splits out relocation work into dl_helper.c
> - cleans up code slightly
> - makes relocations use le_to_cpu/cpu_to_le
> - changes all grub_util printout calls to grub_dprintf 
> 
> /
>     Leif



Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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