All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Graham <stgraham2000@yahoo.com>
To: linux-mips@linux-mips.org
Subject: Re: O2 RM7000 Issues
Date: Mon, 17 Sep 2007 16:04:52 -0700 (PDT)	[thread overview]
Message-ID: <12746880.post@talk.nabble.com> (raw)
In-Reply-To: <20070717122711.GA19977@linux-mips.org>


I am having a similar problem where complicated bash scripts on boot randomly
throw SIGILL.  I am running on a PMC MSP8510 platform - E9000 core.  I have
applied the patch to "war.h" mentioned in this thread and that did greatly
reduce the number of occurences of this problem but has not fixed it.  I was
getting at least 2 illegal instructions every boot and now I can boot
without any problems about 90% of the time.

Does the patch you mention below apply to the E9000 core as well?


Ralf Baechle DL5RB wrote:
> 
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> 
> diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
> index f599e79..7ee0cb0 100644
> --- a/arch/mips/kernel/cpu-probe.c
> +++ b/arch/mips/kernel/cpu-probe.c
> @@ -75,6 +75,26 @@ static void r4k_wait_irqoff(void)
>  	local_irq_enable();
>  }
>  
> +/*
> + * The RM7000 variant has to handle erratum 38.  The workaround is to not
> + * have any pending stores when the WAIT instruction is executed.
> + */
> +static void rm7k_wait_irqoff(void)
> +{
> +	local_irq_disable();
> +	if (!need_resched())
> +		__asm__(
> +		"	.set	push		\n"
> +		"	.set	mips3		\n"
> +		"	.set	noat		\n"
> +		"	mfc0	$1, $12		\n"
> +		"	sync			\n"
> +		"	mtc0	$1, $12		\n"
> +		"	wait			\n"
> +		"	.set	pop		\n");
> +	local_irq_enable();
> +}
> +
>  /* The Au1xxx wait is available only if using 32khz counter or
>   * external timer source, but specifically not CP0 Counter. */
>  int allow_au1k_wait;
> @@ -132,7 +152,6 @@ static inline void check_wait(void)
>  	case CPU_R4700:
>  	case CPU_R5000:
>  	case CPU_NEVADA:
> -	case CPU_RM7000:
>  	case CPU_4KC:
>  	case CPU_4KEC:
>  	case CPU_4KSC:
> @@ -142,6 +161,10 @@ static inline void check_wait(void)
>  		cpu_wait = r4k_wait;
>  		break;
>  
> +	case CPU_RM7000:
> +		cpu_wait = rm7k_wait_irqoff;
> +		break;
> +
>  	case CPU_24K:
>  	case CPU_34K:
>  		cpu_wait = r4k_wait;
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/O2-RM7000-Issues-tf4008392.html#a12746880
Sent from the linux-mips main mailing list archive at Nabble.com.

  reply	other threads:[~2007-09-17 23:05 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-01 16:57 O2 RM7000 Issues Kumba
2007-07-01 22:07 ` freshy98
2007-07-02 13:08   ` sknauert
2007-07-02 13:08   ` sknauert
2007-07-04 15:27     ` Ralf Baechle
2007-07-04 19:22       ` Ralf Baechle
2007-07-16 11:53         ` Sergey Rogozhkin
2007-07-16 12:33           ` Ralf Baechle
2007-07-16 17:38             ` Andrew Sharp
2007-07-17 14:01               ` Kumba
2007-07-19 18:58                 ` Andrew Sharp
2007-07-19 22:26                   ` Shane McDonald
2007-07-17  7:54             ` Gleb O. Raiko
2007-07-17  9:04         ` Sergey Rogozhkin
2007-07-17 10:14           ` Ralf Baechle
2007-07-17 12:27           ` Ralf Baechle
2007-09-17 23:04             ` Steve Graham [this message]
2007-09-18  8:52               ` Ralf Baechle
2007-09-17 23:20             ` David Daney
2007-09-18  8:47               ` Ralf Baechle
2007-07-02 14:34 ` Maciej W. Rozycki
2007-09-21  6:27 ` Sagar Borikar
2007-09-21 13:47   ` Ralf Baechle
2007-09-22  3:20     ` Steve Graham
2007-09-24 11:58       ` Ralf Baechle
2007-09-26 17:06         ` Steve Graham

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=12746880.post@talk.nabble.com \
    --to=stgraham2000@yahoo.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.