| To: | "Maciej W. Rozycki" <macro@linux-mips.org> |
|---|---|
| Subject: | Re: Kernel freezes in r4k_flush_icache_range() with CONFIG_CPU_MIPS32_R2 |
| From: | Maxime Bizon <mbizon@freebox.fr> |
| Date: | Thu, 22 Dec 2005 03:31:31 +0100 |
| Cc: | linux-mips@linux-mips.org |
| In-reply-to: | <Pine.LNX.4.64N.0512201120010.25567@blysk.ds.pg.gda.pl> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <1135047438.9874.74.camel@sakura.staff.proxad.net> <Pine.LNX.4.64N.0512201120010.25567@blysk.ds.pg.gda.pl> |
| Sender: | linux-mips-bounce@linux-mips.org |
On Tue, 2005-12-20 at 11:47 +0000, Maciej W. Rozycki wrote: > FYI, GCC 3.4.4 produces the following code which is clearly wrong: > Please file a bug report at: "http://gcc.gnu.org/bugzilla/". Same with 3.3 and 3.2... I'm really not familiar with inline assembly so I would appreciate that any gcc guru here confirm instruction_hazard() code is correct before I (or he) submit the bug report. As the bug seems to be in all gcc versions, I guess we should find a workaround... I changed the code to use an asm label instead of the C label and the bug disappeared. But I'm not sure my changes are correct for any platform other than mine... Could anyone with the right skills help me to write a valid workaround please ? Here is what I have: __asm__ __volatile__( "lui $2,1f\n" "addiu $2,1f\n" "jr.hb $2\n1:":: ); Thanks, -- Maxime |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] fix local_irq_save()/local_irq_restore() when CONFIG_CPU_MIPSR2 & CONFIG_IRQ_CPU, Ralf Baechle |
|---|---|
| Next by Date: | Re: does someone succeed in making the toolchain for 2.6 kernel?, zhuzhenhua |
| Previous by Thread: | Re: Kernel freezes in r4k_flush_icache_range() with CONFIG_CPU_MIPS32_R2, Maciej W. Rozycki |
| Next by Thread: | Re: Kernel freezes in r4k_flush_icache_range() with CONFIG_CPU_MIPS32_R2, Ralf Baechle |
| Indexes: | [Date] [Thread] [Top] [All Lists] |