Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Hazard problem in tlb-r4k.c
@ 2002-05-17 11:50 Carsten Langgaard
  0 siblings, 0 replies; only message in thread
From: Carsten Langgaard @ 2002-05-17 11:50 UTC (permalink / raw)
  To: linux-mips

[-- Attachment #1: Type: text/plain, Size: 552 bytes --]

There seems to be a hazard problem in the local_flush_tlb_range function
in tlb-r4k.c, which the patch below will fix.
It could hit anyone, but it probably only a problem on CPUs, which
doesn't allow matching entries in the TLB.

/Carsten


--
_    _ ____  ___   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



[-- Attachment #2: tlb-r4k.c.patch --]
[-- Type: text/plain, Size: 602 bytes --]

Index: arch/mips/mm/tlb-r4k.c
===================================================================
RCS file: /cvs/linux/arch/mips/mm/tlb-r4k.c,v
retrieving revision 1.6.2.3
diff -u -r1.6.2.3 tlb-r4k.c
--- arch/mips/mm/tlb-r4k.c	2002/01/18 03:16:24	1.6.2.3
+++ arch/mips/mm/tlb-r4k.c	2002/05/17 11:36:58
@@ -119,12 +119,11 @@
 				idx = get_index();
 				set_entrylo0(0);
 				set_entrylo1(0);
-				set_entryhi(KSEG0);
 				if (idx < 0)
 					continue;
-				BARRIER;
 				/* Make sure all entries differ. */
 				set_entryhi(KSEG0+idx*0x2000);
+				BARRIER;
 				tlb_write_indexed();
 				BARRIER;
 			}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-05-17 12:40 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-17 11:50 Hazard problem in tlb-r4k.c Carsten Langgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox