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 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.