Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Aug 1997 09:09:01 -0400 (EDT)
From:      Gary Kendall <gdk@ccomp.inode.COM>
To:        joerg_wunsch@uriah.heep.sax.DE
Cc:        freebsd-hackers@freebsd.ORG
Subject:   Re: Sizing mem > 64MB at boot-time
Message-ID:  <199708261309.JAA02677@ccomp.inode.com>
In-Reply-To: <19970826080352.YY43772@uriah.heep.sax.de> from J Wunsch at "Aug 26, 97 08:03:52 am"

next in thread | previous in thread | raw e-mail | index | archive | help
It wasn't too long ago that J Wunsch said:
> I recently wrote the `cdboot' code, but things like these are still
> highly puzzling for me.  In particular, when it comes to gas and gas's
> unsupport for 16-bit code.
> 
Bless you, sir.  Misery loves company. ;-)

> I sometimes went the route that i've been stuffing the code into a
> .bin file, and ran symdeb.exe inside pcemu to analyze the 16-bit code.
> 
Ugh... make mine hemlock, please. :-\

> Btw., the most recent bootblocks are probably too full for this
> anyway. :-(
> 
Well, I'd just like to see it work under the 2.0 system that I'm running
now.  I've got 2.2.2 sitting here on CD, but it's going on a machine that
I haven't even built yet.  After I build the machine, and install the OS,
I'll worry about the new boot blocks being too big. ;-)  Maybe, by then,
I'll be "inspired" enough to write a 3-stage boot with a /boot file and
maybe even a system monitor and diagnostics package.

> Btw^2, cdboot contains a simple malloc implementation that operates on
> the `heap' that is also available for the realmode BIOS.  This was
> required for me to read the CD-ROM root directory (which can vary in
> size).  Maybe this solves your storage pool problem.
> 
I'll take a look, but I've got a real problem with having to allocate
a 20-byte buffer of what should be "local" storage on a heap.  This may
be the only way to go if you want the data accessable in both real and
protected mode, but what's killing me is that the code I wrote only needs
to use that storage in real mode!  The returned value (memsize in 1KB pages)
is in the %ebx register during the transition from real_to_prot(), and
moved into %eax afterward, where the compiler expects to find it.

> I think there's a section in the handbook explaining the boot process.
> This should also mention the memory regions that are used in the
> bootstrap.
> 
I'm guessing there's a copy of the handbook at www.freebsd.org... am I right?
(Don't bother to answer... I'm on my way there now. ;-)

> -- 
> cheers, J"org
> 
> joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
> Never trust an operating system you don't have sources for. ;-)
> 
Thanks, J"org.

Regards,
Gary Kendall <gdk@inode.com>

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  The difficult is done immediately, the impossible takes a little longer.  %
%----------------------------------------------------------------------------%
%              gdk@ccomp.inode.com  or  gkendall@eddie.mit.edu               %
%----------------------------------------------------------------------------%
%  Creative Computing * 96 Forest Street * Danvers, MA 01923 * 508-777-3784  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



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