Subject: mmEye netbsd-4 generic kernel doesn't boot?
To: None <port-sh3@NetBSD.org>
From: Anders Gavare <gavare@gmail.com>
List: port-sh3
Date: 05/27/2007 10:32:58
Hi NetBSD/sh3'ers!
I was trying out a NetBSD/mmeye GENERIC kernel today (from the netbsd-4
daily builds), in GXemul. The emulator only supports SH4 so far, not SH3,
but I thought it would be fun to just give it a try anyway.
However, I ran in to a problem which I think is in NetBSD, not in the
emulator. From mmeye/machdep.c, uvm_page_physload() is called. Here is a
function call trace from the emulator:
<uvm_page_physload(0x4c209,0xd000,0x4c209,0xd000,&_end ...
<panic("uvm_page_physload: start >= end" ...
The source code in mmeye/machdep.c, just before the uvm_page_physload()
call, looks something like this:
kernend = atop(round_page(SH3_P1SEG_TO_PHYS(end)));
#if NKSYMS || defined(DDB) || defined(LKM)
/* XXX Currently symbol table size is not passed to the kernel. */
kernend += 0x40000; /* XXX */
#endif
If I manually change the first and third argument to, say, 0xc209 + 0x40,
then the kernel gets further (and prints some boot messages).
So, should the source code perhaps read:
kernend += atop(0x40000); /* XXX */
instead?
Anders