Port-evbmips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Which kernel for Lemote Yeeloong?
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 <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index