qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images
Date: Thu, 19 Aug 2010 15:57:47 +0200

On 19.08.2010, at 15:02, Avi Kivity wrote:

> On 08/19/2010 02:24 PM, Adam Lackorzynski wrote:
>> A via -kernel supplied x86_64 ELF image is being started in 32bit mode.
>> Detect and exit if a 64bit image has been supplied.
>> 
>> 
>> 
>> diff --git a/hw/multiboot.c b/hw/multiboot.c
>> index dc980e6..e9dcbc9 100644
>> --- a/hw/multiboot.c
>> +++ b/hw/multiboot.c
>> @@ -171,6 +171,12 @@ int load_multiboot(void *fw_cfg,
>>          uint64_t elf_low, elf_high;
>>          int kernel_size;
>>          fclose(f);
>> +
>> +        if (((struct elf64_hdr*)header)->e_machine == EM_X86_64) {
>> +            fprintf(stderr, "Cannot load x86-64 image, give a 32bit 
>> one.\n");
>> +            exit(1);
>> +        }
>> +
>>          kernel_size = load_elf(kernel_filename, NULL, NULL,&elf_entry,
>>                                 &elf_low,&elf_high, 0, ELF_MACHINE, 0);
>>          if (kernel_size<  0) {
> 
> We rely on the existing behaviour in kvm-unit-tests.git.  Tests (.flat files) 
> are 64-bit elf binaries that are loaded in 32-bit more and switch immediately 
> to 64-bit.
> 
> We can easily wrap them in a 32-bit elf, but that's a needless complication.

Well, but if they wouldn't work in grub that doesn't help too much, right? I'm 
in full sympathy to stick to whatever grub does, as that's the reference 
implementation.


Alex




reply via email to

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