Date: Thu, 02 Jun 2005 16:44:20 -0600 From: Scott Long <scottl@samsco.org> To: Peter Wemm <peter@wemm.org> Cc: Michael Reifenberger <mike@Reifenberger.com>, freebsd-amd64@freebsd.org Subject: Re: 64bit loader Message-ID: <429F8BC4.7010900@samsco.org> In-Reply-To: <200506011009.48460.peter@wemm.org> References: <20050531133608.J87922@fw.reifenberger.com> <20050531165558.L88820@fw.reifenberger.com> <200505311656.50288.jhb@FreeBSD.org> <200506011009.48460.peter@wemm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Peter Wemm wrote: > On Tuesday 31 May 2005 01:56 pm, John Baldwin wrote: > >>On Tuesday 31 May 2005 11:06 am, Michael Reifenberger wrote: >> >>>On Tue, 31 May 2005, David O'Brien wrote: >>> >>>>Ha!! We can only have 1 sector worth of code in boot0. At this >>>>point we only have a few bytes of free code space. No where near >>>>enough to do the long mode switch. >>> >>>Sorry. I didnt meant boot0 but btx. I do know that boot0 is too >>>small. But btx is already switching to protected mode so it should >>>be possible to switch to 64bit mode too. >> >>Note that the loader uses the BIOS (via virtual 8086 mode) to do all >>the disk I/O, etc. Since long mode doesn't support vm86 mode, you'd >>end up with a loader that couldn't do any I/O to load the kernel, >>etc. unless you started including device drivers for all the >>different storage and networking hardware, etc. A 64-bit loader >>really isn't feasible unless your 64-bit machine includes firmware >>that you can use from 64-bit mode like EFI on ia64 or OFW on sparc. >>You probably want to stick with a 32-bit loader on amd64 for now. > > > Yes, there are a lot of good reasons to do it the way it is done, but > this is the killer reason. We simply cannot do vm86 or bios calls from > a 64 bit loader, period. > > Other "good" reasons, besides the above: > * We don't need to maintain a seperate loader code base > * We can load test kernels with an existing loader on a FreeBSD/i386 > system (and run from a ramdisk or miniroot) > * We would need to maintain 32 bit code to do bios calls anyway, even if > we did switch between 32 bit and 64 bit mode on the fly. If we have a > complete 32 bit BTX environment, we get massive complexity for little > benefit. > I'm trying to come up with a good joke about writing OFW-style drivers in 4th, but I'm having a hard time not cracking up too hard while I type =-D Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?429F8BC4.7010900>