qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] i386: don't require elf64 for multiboot kernel


From: Gonzo FWS
Subject: Re: [Qemu-devel] i386: don't require elf64 for multiboot kernel
Date: Wed, 5 Dec 2018 13:03:42 +0000

When I attach a GRUB loader, it doesn't check ELFCLASS at all. It just boots 
the kernel as expected in protected mode. Only Qemu does the extra check that I 
know of, but I cannot force your opinions on this. We can still continue to use 
a chainloader to avoid this problem. (Or worse, build a ELFCLASS32 64-bit 
kernel. Just kidding, of course.)

-gonzo
________________________________
From: Paolo Bonzini <address@hidden>
Sent: Wednesday, December 5, 2018 1:20 PM
To: Thomas Huth; Gonzo FWS; address@hidden
Cc: Richard Henderson; Eduardo Habkost; Michael S. Tsirkin; Marcel Apfelbaum
Subject: Re: [Qemu-devel] i386: don't require elf64 for multiboot kernel

On 05/12/18 06:35, Thomas Huth wrote:
> On 2018-12-04 17:55, Gonzo FWS wrote:
>> Right now IncludeOS on x86_64 must use a chainloader for multiboot
>> support. The chainloader is an ELF32 kernel that loads the real
>> ELF64 kernel and jumps to it. As long as the ELF has the .multiboot
>> section and conforms to the spec, meaning _start is be a 32-bit
>> entry, it should be fine.
>>
>> By removing the extra check in multiboot.c, we can also boot ELF64
>> files. As can be seen here:
>> https://cloud.fwsnet.net/index.php/s/XrkBkC8zy7MLa9p
>>
>> Signed-off-by: Alf-André Walla <address@hidden>

I think a 64-bit multiboot specification doesn't exist, but if it
existed, it would require an EM_X86_64 ELF file to be booted already in
long mode.  I don't think it's a good idea to allow booting into an
EM_X86_64 ELF file with the processor in 32-bit mode.

Paolo


reply via email to

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