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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel