Apparently it breaks at epc: 8004f708 looking this up in System.map
I find its in the function do_ade in arch/mips/kernel/unaligned.c
What does is the function do_ade supposed to do?
-Tom
-----------------------------------------------------------------------
Given enough eyeballs all bugs seem shallow.
On Fri, 25 Dec 1998 ralf@uni-koblenz.de wrote:
> On Tue, Dec 22, 1998 at 11:46:06PM -0500, Thomas Riemer wrote:
>
> > I get a message from mm/fault.c - indicating that I'm
> > getting a "page fault from irq handler 0001 " which I traced back
> > to in_interrupt() going high - looks like because I'm both in
> > a hardware interrupt and in bh handler.
>
> in_interrupt() indicates that you are in an interrupt OR in a bottom half
> handler, not in both.
>
> > So now I know that I'm not doing something right - but having
> > staired at the code for several hours now I'm drawing an absolute
> > blank.
> >
> > It looks like I'm getting a hardware interrupt for 0001 (DISK I think)
> > and that there is bh handler running. Its not clear whether this is
> > the disk bh handler or the serial dz handler that's set up. Either
> > way its worrisome.
> >
> > Is there anyway for me to determine which bh handler I'm in?
>
> No, that information is not visible outsid of run_bottom_halfes() in
> kernel/softirq.c. It's a trivial function so you could easily add some
> debugging code.
>
> In any case the epc of a register dump in do_fault when in_interrupt is
> true should point you to the offending instruction, the necessary change
> to print such a register dump would be trivial.
>
> Ralf
>
|