Re: Which kernel for Lemote Yeeloong?
Manuel Bouyer <[email protected]> Sun, 4 Dec 2011 19:48:00 +0100
| Newsgroups | gmane.os.netbsd.ports.evbmips |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Dec 04, 2011 at 07:48:49AM -0600, John D. Baker wrote:
> I have done so, sprinkling
>
> printf("\nIn %s: %s:%d\n", __func__, __FILE__, __LINE__);
>
> in amongst the first several operations in main() down to just after
> rw_obj_init(). There is no change in the console output; no additional
> output at all. This would appear to indicate that it's branching to
> the_weeds() instead.
Or something between the call to mach_init() and main() in locore.S
is going wrong.
You could try selectively commenting out parts of the code in
locore.S between jal _C_LABEL(mach_init) and jal _C_LABEL(main).
Suspects are:
- switch to lwp0 stack:
PTR_L sp, L_PCB(MIPS_CURLWP) # switch to lwp0 stack
nop
PTR_ADDU sp, USPACE - TF_SIZ - CALLFRAME_SIZ
- Raise to IPLHIGH:
jal _C_LABEL(splhigh_noprof)
- enable interrupts:
mfc0 v0, MIPS_COP_0_STATUS
or v0, MIPS_SR_INT_IE
mtc0 v0, MIPS_COP_0_STATUS
I would first comment out all of them and then reenabling to lwp0 stack,
then Raise to IPLHIGH and finally enable interrupts.
>
> Are there any tweaks to system information that need to be made through
> PMON? I've only made the most minimal of changes to get OpenBSD's boot
> loader to be happy.
I don't remember doing anything more
>
> Need I go further with the printf()s? Maybe I haven't reached a point
> where output is actually possible?
loongson/machdep.c uses printf(), so I'd expect a plain printf() call
to work as well. I'm more suspecting either the hardware wedging,
or one of the operations after mach_init to cause an infinite loop.
--
Manuel Bouyer <[email protected]>
NetBSD: 26 ans d'experience feront toujours la difference
--