Date: Tue, 13 Mar 2001 20:53:47 -0800 From: Peter Wemm <peter@yahoo-inc.com> To: Richard Todd <rmtodd@ichotolot.servalan.com> Cc: current@freebsd.org Subject: Re: Tracking down problem with booting large kernels (bug in locore.s) Message-ID: <200103140453.f2E4rli01794@daintree.yahoo.com> In-Reply-To: <m14ciTH-004MkiC@servalan.servalan.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Richard Todd wrote: [..] > The pushl and ret is where the boot code is jumping to "begin:" at its proper > virtual address after the page tables are setup. I'm guessing that > create_pagetables is somehow losing and creating bogus page tables such that > the jump to the kernel virtual address space goes into deep space somewhere, > but frankly the details of page tables on the i386 are beyond my expertise. > So I'm posting this in hopes that someone on here *does* know enough to figur e > out what's going wrong when the kernel size is sufficiently large. Just a thought.. You might try this: Index: locore.s =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/locore.s,v retrieving revision 1.142 diff -u -r1.142 locore.s --- locore.s 2001/02/25 07:44:39 1.142 +++ locore.s 2001/03/14 04:46:27 @@ -889,7 +889,7 @@ /* install a pde for temporary double map of bottom of VA */ movl R(KPTphys), %eax xorl %ebx, %ebx - movl $1, %ecx + movl $NKPT, %ecx fillkpt(R(IdlePTD), $PG_RW) /* install pde's for pt's */ And see if you get past it. (Sorry for the xterm cut/paste spam). Dont run with this if it does get past it, or badness will result as the temporary mappings wont be turned off and you'll leave yourself a massive root exploitable hole. This is just a hunch to see if it gets you past *that specific point*. If so, a proper fix is pretty trivial from there. No guarantees as to whether this will even boot though. :-] Cheers, -Peter -- Peter Wemm - peter@yahoo-inc.com; peter@FreeBSD.org; peter@wemm.org "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103140453.f2E4rli01794>