linux-mips
[Top] [All Lists]

Re: kernel panic about kernel unaligned access

To: loody <miloody@gmail.com>
Subject: Re: kernel panic about kernel unaligned access
From: David Daney <ddaney@caviumnetworks.com>
Date: Wed, 28 Oct 2009 08:40:21 -0700
Cc: Mulyadi Santosa <mulyadi.santosa@gmail.com>, linux-mips <linux-mips@linux-mips.org>, Kernel Newbies <kernelnewbies@nl.linux.org>
In-reply-to: <3a665c760910272103gd4a6b78idb5e1175ba288b7e@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <3a665c760910270627u784d43b8t2978731110c920a4@mail.gmail.com> <f284c33d0910272056n4cd082et2ba1a4b5e228bb0e@mail.gmail.com> <3a665c760910272103gd4a6b78idb5e1175ba288b7e@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.21 (X11/20090320)
loody wrote:
hi

2009/10/28 Mulyadi Santosa <mulyadi.santosa@gmail.com>:
Hi...

On Tue, Oct 27, 2009 at 8:27 PM, loody <miloody@gmail.com> wrote:
Dear all:
I use kernel 2.6.18 and I get the kernel panic as below:
Unhandled kernel unaligned access[#1]:
Cpu 0
$ 0   : 00000000 11000001 0000040a 8721f0d8
$ 4   : 874a6c00 80001d18 00000000 00000000
$ 8   : 00000000 ffffa438 00000000 874c2000
$12   : 00000000 00000000 00005800 00011000
$16   : 80001d10 874a6c40 874a6c00 87d7bf00
$20   : 874a6c78 871a0000 87370000 874a6c80
$24   : 00000000 2aacc770
$28   : 87d7a000 87d7be88 ffffa438 8709ed20
Hi    : 00000000
Lo    : 00000000
epc   : 8709e72c sync_sb_inodes+0x9c/0x320     Not tainted
ra    : 8709ed20 writeback_inodes+0xb4/0x160
Hmmm, your machine is not x86, is it? So, I guess this panic is caused
by unaligned memory access.
Yes, my machine is mips machine.
if do_ade in unaligned.c is a trap, where do  we register it?
I grep the source code but I only find the definition but cannot get
the place where we register the trap.


Look in genex.S for lines like:

        BUILD_HANDLER adel ade ade silent               /* #4  */
        BUILD_HANDLER ades ade ade silent               /* #5  */

And also in traps.c for lines like:

        set_except_vector(4, handle_adel);
        set_except_vector(5, handle_ades);


David Daney



<Prev in Thread] Current Thread [Next in Thread>