Linux MIPS Architecture development
 help / color / mirror / Atom feed
* [PATCH 1/3] fixed mtc0_tlbw_hazard
@ 2006-09-21 16:07 Yoichi Yuasa
  2006-09-21 16:10 ` [PATCH 2/3] fixed typo in hazard.h Yoichi Yuasa
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Yoichi Yuasa @ 2006-09-21 16:07 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: yoichi_yuasa, linux-mips

Hi Ralf,

Some mtc0_tlbw_hazard() were broken by "[MIPS] Cleanup hazard handling" patch.
Please apply this patch.

tlb-r4k.o disassemble:

8009018c <local_flush_tlb_all>:
8009018c:       40066000        mfc0    a2,$12
80090190:       34c1001f        ori     at,a2,0x1f
80090194:       3821001f        xori    at,at,0x1f
80090198:       40816000        mtc0    at,$12
8009019c:       00000040        ssnop
800901a0:       00000040        ssnop
800901a4:       00000040        ssnop
800901a8:       40075000        mfc0    a3,$10
800901ac:       40801000        mtc0    zero,$2
800901b0:       40801800        mtc0    zero,$3
800901b4:       40043000        mfc0    a0,$6
800901b8:       3c028035        lui     v0,0x8035
800901bc:       8c457ac0        lw      a1,31424(v0)
800901c0:       0085182a        slt     v1,a0,a1
800901c4:       1060000b        beqz    v1,800901f4 <local_flush_tlb_all+0x68>
800901c8:       00044340        sll     t0,a0,0xd
800901cc:       3c098000        lui     t1,0x8000
800901d0:       01091821        addu    v1,t0,t1
800901d4:       40835000        mtc0    v1,$10
800901d8:       10000002        b       800901e4 <local_flush_tlb_all+0x58> <-- mtc0_tlbw_hazard()
800901dc:       40840000        mtc0    a0,$0
800901e0:       42000002        tlbwi

Yoichi

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>

diff -pruN -X mips/Documentation/dontdiff mips-orig/include/asm-mips/hazards.h mips/include/asm-mips/hazards.h
--- mips-orig/include/asm-mips/hazards.h	2006-09-21 18:21:11.793973750 +0900
+++ mips/include/asm-mips/hazards.h	2006-09-21 18:55:07.569201750 +0900
@@ -138,7 +138,7 @@ ASMMACRO(back_to_back_c0_hazard,
  * Mostly like R4000 for historic reasons
  */
 ASMMACRO(mtc0_tlbw_hazard,
-	 b	. + 8
+	 nop; nop; nop; nop; nop; nop
 	)
 ASMMACRO(tlbw_use_hazard,
 	 nop; nop; nop; nop; nop; nop
@@ -169,7 +169,7 @@ ASMMACRO(back_to_back_c0_hazard,
  * processors.
  */
 ASMMACRO(mtc0_tlbw_hazard,
-	 b	. + 8
+	 nop; nop; nop; nop; nop; nop
 	)
 ASMMACRO(tlbw_use_hazard,
 	 nop; nop; nop; nop; nop; nop

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2006-09-25 15:13 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-21 16:07 [PATCH 1/3] fixed mtc0_tlbw_hazard Yoichi Yuasa
2006-09-21 16:10 ` [PATCH 2/3] fixed typo in hazard.h Yoichi Yuasa
2006-09-21 16:13   ` [PATCH 3/3] remove some redefinitions " Yoichi Yuasa
2006-09-25 15:14     ` Ralf Baechle
2006-09-25 14:49   ` [PATCH 2/3] fixed typo " Ralf Baechle
2006-09-21 16:22 ` [PATCH 1/3] fixed mtc0_tlbw_hazard Sergei Shtylyov
2006-09-21 16:41   ` Yoichi Yuasa
2006-09-21 17:01     ` Sergei Shtylyov
2006-09-22  3:17       ` Yoichi Yuasa
2006-09-25 14:28       ` Ralf Baechle
2006-09-25 14:26     ` Ralf Baechle
2006-09-22  5:16 ` Atsushi Nemoto
2006-09-22  5:47   ` Yoichi Yuasa
2006-09-25 14:24 ` Ralf Baechle

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