On 04.04.2013 14:54, Leif Lindholm wrote:

> On Wed, Apr 03, 2013 at 10:01:59PM +0200, Vladimir '??-coder/phcoder' 
> Serbinenko wrote:
>>> I don't see grub-mkimage currently being fully cross-platform anyway,
>>> so I would (as mentioned in previous email) prefer to postpone any
>>> such adjustments until the basic support is in. I have the patches
>>> for it, if not entirely up to date.
>>
>> grub-mkimage is fully cross-platform and is intended to be usable this
>> way. If you see a problem, please tell.
> 
> Well, the straightforward relocations for EM_386 and EM_X86_64 look OK,
> but much of the fiddly IA64 patching that goes on in grub-mkimagexx.c
> (add_value_to_slot_* and make_trampoline) does not appear
> endianess-safe to me.
> 

Fixed

> 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?

> 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

> 
> 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

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to