[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] i386: don't require elf64 for multiboot kernel
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] i386: don't require elf64 for multiboot kernel |
Date: |
Wed, 5 Dec 2018 13:20:51 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 |
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