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 14:34:10 +0200

On 19.08.2010, at 14:32, Adam Lackorzynski wrote:

> 
> On Thu Aug 19, 2010 at 13:40:54 +0200, Alexander Graf wrote:
>> 
>> On 19.08.2010, at 13:36, Adam Lackorzynski wrote:
>> 
>>> 
>>> On Thu Aug 19, 2010 at 13:27:32 +0200, Alexander Graf wrote:
>>>> 
>>>> On 19.08.2010, at 13:24, 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.
>>>> 
>>>> According to the multiboot spec, this is the expected behavior, no? At 
>>>> least Xen does it that way...
>>> 
>>> Yes, but then the supplied ELF-image should say it's a 32bit one and
>>> switch to 64bit mode itself. That's at least how we do load a 64bit
>>> kernel.
>> 
>> Hrm - maybe you're right:
>> 
>> busu:~ # readelf -a /boot/xen
>> ELF Header:
>>  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
>>  Class:                             ELF32
>> 
>> What does the spec say here? What does grub do?
> 
> Grub starts the (multiboot-)OS in 32bit mode. Starting directly in 64bit
> mode would require to setup page-tables etc. which is not done.
> The Spec doesn't mention 64bit OS at all, and says that 32bit OSs are
> fine ("An OS image may be an ordinary 32-bit executable file in the
> standard format for that particular operating system, except that it may
> be linked at a non-default load address to avoid loading on top of the
> ...");

I think we should do the same grub does here. If grub loads 64-bit elf binaries 
and runs them in 32-bit mode, we should too. If it refuses to load them, we 
should too.

Alex




reply via email to

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