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