Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Nov 1997 19:08:30 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        tony@dell.com (Tony Overfield)
Cc:        mike@smith.net.au, gurney_j@resnet.uoregon.edu, chuckr@glue.umd.edu, tlambert@primenet.com, jamil@trojanhorse.ml.org, hackers@FreeBSD.ORG, j_mini@efn.org
Subject:   Re: >64MB
Message-ID:  <199711101908.MAA11282@usr05.primenet.com>
In-Reply-To: <3.0.3.32.19971110034509.0069e370@bugs.us.dell.com> from "Tony Overfield" at Nov 10, 97 03:45:09 am

next in thread | previous in thread | raw e-mail | index | archive | help
> >The kernel is loaded above 1M, so you would have to be careful to make 
> >sure that your BIOS calls came out of the lowest 64K.  That could be 
> >done with a dispatcher in locore.s though.
> 
> I assume you mean the lowest 640K.  But yes, a dispatcher would have 
> to exist down there, with a buffer large enough for your INT 13h calls
> and etc.

Actually, he means the 64k-16b that immediately follows the 1M boundary,
since you can adulterate a segment register to access this memory (in
effect you can start loading FreeBSD there, and so long as the access code
and data go in that window, you can make it look like DOS memory and
the BIOS can access it.


> I don't know if it works, but it looks simple enough.  I do realize it 
> offends the sensibilities of some real-mode fearing folks.  
> 
> If you can't trust the BIOS after the kernel is in memory, how can you 
> trust it to load the kernel into memory?  While the kernel is still 
> "booting...", the BIOS should be safe enough to call in real-mode.  

Three problems:

1)	You can't trust a *user process* to call the BIOS (it's not
	the sword that's the problem, it's what the peasent *does*
	with the sword that makes us make them illegal for everyone
	but the knights and the king).

2)	The BIOS INT 13 code has a 2G limit on partition size, unless
	you can guarantee all the devices in your machine support
	LBA mode (even then the limit on LBA is lower than the limit
	in FreeBSD... 64bits >> 32 bits).

3)	Gate A20 (now you will argue that Dell hardware doesn't use
	BIOS code that expects a wrap in memory).


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711101908.MAA11282>