*BSD News Article 15260


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!metro!ipso!runxtsa!bde
From: bde@runx.oz.au (Bruce Evans)
Subject: Re: ptdi 4f324a6a
Message-ID: <1993Apr28.161504.16203@runx.oz.au>
Organization: RUNX Un*x Timeshare.  Sydney, Australia.
References: <C6299E.1Gw@veda.is> <C653DM.9q@veda.is> <1993Apr27.123419.15536@gmd.de>
Date: Wed, 28 Apr 93 16:15:04 GMT
Lines: 20

In article <1993Apr27.123419.15536@gmd.de> veit@mururoa.gmd.de (Holger Veit) writes:
>In article <C653DM.9q@veda.is>, adam@veda.is (Adam David) writes:
>...
>|> Why should the kernel run into problems when it is almost 640k in size?
>...
>Not the stack, but simply the secondary bootstrap loader that is 
>located at 0x90000. While loading a large kernel, the loader itself
>gets overwritten, before the load is finished.

The 0x90000 limit should not be a problem, because the kernel bss size is
usually more than 64K and the bss doesn't get cleared until after the boot
loader is finished (actually the GDT in the boot loader gets cleared before
a new GDT is initialized, but I think this isn't a problem because the old
GDT is not accessed early).

The actual limit is 640K - 28K, because locore.s grabs 7 pages for the
page table starting at the end of the bss.  Nothing checks whether these
pages fit below 640K.
-- 
Bruce Evans  bde@runx.oz.au