[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images
From: |
Rene Rebe |
Subject: |
Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images |
Date: |
Fri, 20 Aug 2010 20:47:47 +0200 |
Hi,
On Aug 19, 2010, at 2:49 PM, Adam Lackorzynski wrote:
>
> On Thu Aug 19, 2010 at 14:34:10 +0200, Alexander Graf wrote:
>>
>> 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.
>
> grub1:
>
> grub> kernel (nd)/tftpboot/adam/bootstrap.elf
>
>
> Error 13: Invalid or unsupported executable format
>
> grub>
>
>
> grub2 loads it but then it crashes and reboots. Looks like a bug to me.
I once added some x86_64 patch to our grub at T2. I forgot for what, L4,
Luvally? At that time it worked, ...
http://svn.exactcode.de/t2/trunk/package/x86/grub/grub-0.97-x86_64.patch
René
--
René Rebe, ExactCODE GmbH, Jaegerstr. 67, DE-10117 Berlin
http://exactcode.com | http://t2-project.org | http://rene.rebe.de
- [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Adam Lackorzynski, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Alexander Graf, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Adam Lackorzynski, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Alexander Graf, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Adam Lackorzynski, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Alexander Graf, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Adam Lackorzynski, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Alexander Graf, 2010/08/19
- Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images,
Rene Rebe <=
Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Avi Kivity, 2010/08/19