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