From: Ralf Baechle <ralf@linux-mips.org>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: weiwei wang <veivei.vang@gmail.com>,
mason@broadcom.com, linux-mips@linux-mips.org
Subject: Re: [Fwd: [bug report] 0xffffffffc0000000 can't be used on bcm1250]
Date: Mon, 13 Oct 2008 17:29:06 +0100 [thread overview]
Message-ID: <20081013162906.GB7144@linux-mips.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0810131508390.9667@ftp.linux-mips.org>
On Mon, Oct 13, 2008 at 04:18:04PM +0100, Maciej W. Rozycki wrote:
> /*
> + * To avoid the BCM1250 M3 erratum check whether EntryHi is consistent
> + * with BadVAddr and return for the exception to retrigger if not.
> + */
> +static void __cpuinit build_bcm1250_m3_war(u32 **p, struct uasm_reloc **r)
> +{
> + uasm_i_dmfc0(p, K0, C0_BADVADDR);
> + uasm_i_dmfc0(p, K1, C0_ENTRYHI);
> + uasm_i_xor(p, K0, K0, K1);
> + uasm_i_dsll(p, K1, K0, 24);
> + uasm_i_dsrl32(p, K1, K1, (24 + PAGE_SHIFT + 1) - 32);
> + uasm_i_dsrl32(p, K0, K0, 30);
> + uasm_i_or(p, K0, K0, K1);
> + uasm_il_bnez(p, r, K0, label_leave);
The workaround is beginning to be relativly expensive. We're investing 8
instructions extra only to verify that the content of c0_entryhi is
correct. I haven't tried yet but me seems by avoiding the use of c0_context
entirely relying only on badvaddr we may be able to get away cheaper.
Btw, adding linux-mips to the cc list. This really should be public.
Ralf
next parent reply other threads:[~2008-10-13 16:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <48EC9894.4080201@gmail.com>
[not found] ` <20081008115001.GA21596@linux-mips.org>
[not found] ` <48ED5BA5.4070301@gmail.com>
[not found] ` <20081009131554.GB22796@linux-mips.org>
[not found] ` <48EEBFE8.1000501@gmail.com>
[not found] ` <alpine.LFD.1.10.0810101138180.19747@ftp.linux-mips.org>
[not found] ` <48F2BC15.70408@gmail.com>
[not found] ` <alpine.LFD.1.10.0810131508390.9667@ftp.linux-mips.org>
2008-10-13 16:29 ` Ralf Baechle [this message]
2008-10-13 18:06 ` [Fwd: [bug report] 0xffffffffc0000000 can't be used on bcm1250] Maciej W. Rozycki
2008-10-14 1:23 ` Weiwei Wang
2008-10-14 10:11 ` Weiwei Wang
2008-10-14 10:46 ` Maciej W. Rozycki
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=20081013162906.GB7144@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@linux-mips.org \
--cc=mason@broadcom.com \
--cc=veivei.vang@gmail.com \
/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