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 - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message