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 ..."); Adam -- Adam a...@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/