From: "Maciej W. Rozycki" <macro@linux-mips.org>
To: David Daney <ddaney@caviumnetworks.com>
Cc: Ales Mulej <Ales.Mulej@HSTX.com>, linux-mips@linux-mips.org
Subject: Re: Reserved instruction in kernel code
Date: Wed, 2 Dec 2009 18:52:39 +0000 (GMT) [thread overview]
Message-ID: <alpine.LFD.2.00.0912021831270.7385@eddie.linux-mips.org> (raw)
In-Reply-To: <4B16A7CC.3090305@caviumnetworks.com>
On Wed, 2 Dec 2009, David Daney wrote:
> > Reserved instruction in kernel code[#1]:
> >
> > Cpu 0
> >
> > $ 0 : 00000000 1000fc00 802be630 00000001
> >
> > $ 4 : 802be670 802be674 ffffffff 802f4d4c
> >
> > $ 8 : 1000fc01 1000001f 00000001 0000002b
> >
> > $12 : 00000000 000001f5 07a0d380 00000000
> >
> > $16 : 00000000 00000000 00000000 1000fc00
> >
> > $20 : 802e9674 bd030f04 3e490000 00000a72
> >
> > $24 : 00000008 8000167c
> > $28 : 802ba000 802bbd30 ffffffff 802f4d4c
> >
> > Hi : 000000fb
> >
> > Lo : 00000001
> >
> > epc : 801013a0 handle_ri_int+0x18/0x38
> >
> > Not tainted
> >
> > ra : 802f4d4c __log_buf+0x0/0x20000
> >
> > Status: 1000fc03 KERNEL EXL IE
> >
> > Cause : 50808000
> >
> > PrId : 00019365 (MIPS 24Kc)
> >
> > Modules linked in:
> >
> > Process swapper (pid: 0, threadinfo=802ba000, task=802bc000, tls=00000000)
> >
> > Stack : 1000fc00 1000001f 00000001 0000002b 00000000 000001f5 00000000
> > 1000fc00
> >
> > 802be630 00000001 802be670 802be674 ffffffff 802f4d4c 1000fc00
> > 1000001f
> >
> > 00000001 0000002b 00000000 000001f5 07a0d380 00000000 00000000
> > 00000000
> >
> > 00000000 1000fc00 802e9674 bd030f04 3e490000 00000a72 00000008
> > 8000167c
> >
> > 802bbe94 802a2954 802ba000 802bbde0 ffffffff 802f4d4c 1000fc02
> > 000000fb
> >
> > ...
> >
> > Call Trace:
> >
> > [<801013a0>] handle_ri_int+0x18/0x38
> >
> >
> >
> > Code: 01094025 3908001e 40886000 <00000040> 00000040 00000040
>
> ... ssnop ssnop ssnop ...
>
> One would think a 'PrId : 00019365 (MIPS 24Kc)' would execute those.
>
> The cause value indicates an 'Interrupt' but you are somehow executing in
> handle_ri_int, so it could be that multiple exceptions are messing up the OOPS
> output...
Look at the preceding code -- the EXL bit has just been cleared (while
executing handle_ri_int()) and the interrupt exception has been
immediately taken, overwriting the EPC and Cause registers with what you
can see above. So either the original RI exception happened earlier
elsewhere, or there is something completely broken somewhere resulting in
this misleading dump (like stack corruption resulting in a jump to
handle_ri() or whatever).
To figure out which is the case I'd suggest running the RI handler with
interrupts disabled for debugging and see if the correct values from EPC
and Cause are reported. If this runs correctly, then obviously the
causing place of the RI exception has to be fixed, but also the interrupt
exception handler has to be investigated to see why the values from EPC
and Cause stored on the stack get corrupted. Otherwise the new symptoms
will (hopefully) suggest what to do next.
Maciej
prev parent reply other threads:[~2009-12-02 18:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-02 11:15 Reserved instruction in kernel code Ales Mulej
2009-12-02 11:15 ` Ales Mulej
2009-12-02 17:19 ` Ralf Baechle
2009-12-02 17:45 ` David Daney
2009-12-02 18:52 ` Maciej W. Rozycki [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.00.0912021831270.7385@eddie.linux-mips.org \
--to=macro@linux-mips.org \
--cc=Ales.Mulej@HSTX.com \
--cc=ddaney@caviumnetworks.com \
--cc=linux-mips@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox