Hi Colin, Just wanting to confirm whether or not this patch has been included upstream yet or not? And if not, what we need to add/change to get it upstream?
Thanks, Tomo From: Colin Watson <cjwat...@ubuntu.com> To: The development of GNU GRUB <grub-devel@gnu.org>, Cc: Tomohiro B Berry/Austin/IBM@IBMUS Date: 01/13/2014 06:52 AM Subject: Re: [PATCH] Adding Bi-Endian 32-bit and 64-bit Support to the Grub ELF Parser On Fri, Jan 10, 2014 at 11:52:52PM +0400, Andrey Borzenkov wrote: > В Fri, 10 Jan 2014 11:58:58 -0600 > Tomohiro B Berry <tbbe...@us.ibm.com> пишет: > > This patch adds bi-endian support for both 32-bit and 64-bit elf files. > > > > It compares the native endianness to the endianness of the elf file, and > > swaps the header bytes if necessary. This will allow, for example, 32-bit > > Big Endian grub to load a 64-bit Little Endian kernel. > > I wonder - when big endian grub will pass boot parameters to little > endian kernel - won't there be endianness mismatch? I think this is probably not a problem for the case at hand (powerpc), because command-line arguments are passed by way of an IEEE1275 property rather than using a pointer in a structure as we do on x86. And the kernel expects to enter the PROM in 32-bit BE mode, so passing its address that way round should be fine. However, Tomohiro, I wonder if you have tested this with an initrd? I don't see code in the kernel to cope with a byteswapped initrd address and size (though I certainly could be missing something). If that side of things is confirmed to work, then this looks mostly fine to me. I wonder if perhaps we ought to only do this on architectures where we know that the kernel can cope with being entered in the wrong endianness? I don't know - maybe we don't need to worry as on other architectures the chances of running across a wrong-endian kernel are pretty infinitesimal anyway. -- Colin Watson [cjwat...@ubuntu.com]
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel