Skip site navigation (1)Skip section navigation (2)
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>