[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: |
Adam Lackorzynski |
Subject: |
Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images |
Date: |
Thu, 19 Aug 2010 14:49:55 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
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.
Adam
--
Adam address@hidden
Lackorzynski http://os.inf.tu-dresden.de/~adam/
- [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 <=
- 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, 2010/08/20
Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images, Avi Kivity, 2010/08/19