From: Sergei Shtylyov <sshtylyov@ru.mvista.com>
To: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Cc: ralf@linux-mips.org, linux-mips@linux-mips.org
Subject: Re: [PATCH 1/3] fixed mtc0_tlbw_hazard
Date: Thu, 21 Sep 2006 21:01:14 +0400 [thread overview]
Message-ID: <4512C55A.6070206@ru.mvista.com> (raw)
In-Reply-To: <20060922014142.2a1985c1.yoichi_yuasa@tripeaks.co.jp>
Hello.
Yoichi Yuasa wrote:
>>>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
>> Hm, why there are ssnop's here...
> ssnop is a part of dvpe().
Yep, this is irq_disable_hazard, looking sane.
>>>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,
This is under #elif defined(CONFIG_CPU_SB1), right?
>>> * Mostly like R4000 for historic reasons
>>> */
>>> ASMMACRO(mtc0_tlbw_hazard,
>>>- b . + 8
>>>+ nop; nop; nop; nop; nop; nop
>> ... and nop's there? This looks inconsistent.
> previous mtc0_tlbw_hazard() for C used nop.
> "b . + 8" is trick for R4000/R4400, see comment in old hazard.h .
I fail to see what was changed WRT SB1 CPUs by the suspected patch. Though
wait... the previous version was inconsistent, using the different barrier
definitions for C and assembly (nops in the former, and branch in the latter).
But since the assembly version was not really used, it couldn't break
anything... :-/
Anyway, shouldn't ssnop's be used for SB1 instead? CPU has quad-issue
pipeline, hasn't it?
> Yoichi
WBR, Sergei
next prev parent reply other threads:[~2006-09-21 16:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
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=4512C55A.6070206@ru.mvista.com \
--to=sshtylyov@ru.mvista.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=yoichi_yuasa@tripeaks.co.jp \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox