On Wed, Feb 8, 2012 at 9:53 AM, Goswin von Brederlow <goswin-...@web.de> wrote: > Stefan Hajnoczi <stefa...@gmail.com> writes: > >> On Sat, Feb 4, 2012 at 5:38 PM, Goswin von Brederlow <goswin-...@web.de> >> wrote: >>> Description: Allow 64bit elf binaries in multiboot format >>> This patch allows 64bit elf files with multiboot header to be loaded. >>> The entry point will still be called in 32bit mode and the kernel >>> must switch to 64bit mode on its own. The image and all modules must >>> also be located in the lower 2GB of ram. All the restrictions of a >>> 32bit image still apply. >>> Author: Goswin von Brederlow <goswin-...@web.de> >>> Last-Updated: 2011-04-08 >>> --- >> >> The multiboot specification is 32-bit only. This patch enables a >> non-standard 64-bit version of multiboot. Have you checked whether >> GRUB or other multiboot loaders have equivalent functionality? Have >> you contacted the multiboot specification authors? > > Not really. The multiboot specification allow for different executable > formats as long as the multiboot header is correct. For example you can > have an a.out multiboot image. The entry vector specified in the > multiboot header is still called in 32bit mode, as per specs. All that > changes is that the kvm allows another executable format for loading the > image. > > Actually per mutliboot specs the elf64 image should already be loaded as > plain image (which means not neccessarily reloacted to the right > address) just like a.out would but kvm doesn't support that. > > I don't think other loaders support elf64 (yet) unless they support > plain images. Frankly I never tried booting a toy kernel on real > hardware so there never was the need.
Yes, this is why I asked about support in other software. If each bootloader implements a different custom method then it will be a pain to run your binary on real hardware in the future. It's worth at least checking their source first - maybe there is already a similar code path that we can be compatible with, hence making life easier for developers who want to play with 64-bit payloads in multiboot executables. Stefan