linux-mips
[Top] [All Lists]

Re: Malta bus error

To: Jun Sun <jsun@mvista.com>
Subject: Re: Malta bus error
From: Carsten Langgaard <carstenl@mips.com>
Date: Fri, 19 Jul 2002 08:39:38 +0200
Cc: "H. J. Lu" <hjl@lucon.org>, linux-mips@oss.sgi.com
References: <3D375B4C.9000403@mvista.com> <20020718180759.A2091@lucon.org> <3D3765F1.6050606@mvista.com>
Sender: owner-linux-mips@oss.sgi.com
Jun Sun wrote:

> H. J. Lu wrote:
> > On Thu, Jul 18, 2002 at 05:20:28PM -0700, Jun Sun wrote:
> >
> >>I got the following bus error on Malta.  Does anybody know what causes the
> >>fault?  Is there anyway to disable the error?  Or we should install a malta
> >>bus_error_handler() to discard this kind of error?
> >>
> >>Apparently the error has something to do with the code layout as it only
> >>happens when I start to modify an unrelated function( do_ri()).
> >>
> >>I am using the latest linux_2_4 branch from oss.sgi.com CVS tree.
> >>
> >
> >
> > I got zero problems with 2.4 kernel on oss as of Jul 11 08:18.
> >
>
> Me neither, until I made the following change.  I of course use my own config
> file.
>
> Using Malta's own BE handler to ignore bus error seems to fix the problem,
> although I am not sure if it is the right fix.
>

Ignoring bus errors is usually not healthy, it indicates a problem, that I would
prefer we find, instead of ignoring it.


>
> Jun
>
> --- arch/mips/kernel/traps.c.orig       Thu Jul 18 15:39:50 2002
> +++ arch/mips/kernel/traps.c    Thu Jul 18 16:49:32 2002
> @@ -614,8 +614,7 @@
>    */
>   asmlinkage void do_ri(struct pt_regs *regs)
>   {
> -       if (!user_mode(regs))
> -               BUG();
> +       die_if_kernel("no ll/sc emulation for kernel code", regs);
>
>   #ifndef CONFIG_CPU_HAS_LLSC
>
> Jun

--
_    _ ____  ___   Carsten Langgaard   Mailto:carstenl@mips.com
|\  /|||___)(___   MIPS Denmark        Direct: +45 4486 5527
| \/ |||    ____)  Lautrupvang 4B      Switch: +45 4486 5555
  TECHNOLOGIES     2750 Ballerup       Fax...: +45 4486 5556
                   Denmark             http://www.mips.com




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