| To: | "Kim, Jong-Sung" <jsungkim@lge.com>, "Thiemo Seufer" <ths@networkno.de> |
|---|---|
| Subject: | Re: Reading an entire cacheline |
| From: | "Kevin D. Kissell" <kevink@mips.com> |
| Date: | Wed, 26 Apr 2006 13:24:32 +0200 |
| Cc: | <linux-mips@linux-mips.org> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <081a01c66784$c6f7cb30$f3479696@LGE.NET> <009f01c6690e$0501a3d0$f3479696@LGE.NET> <20060426101603.GB29550@networkno.de> |
| Sender: | linux-mips-bounce@linux-mips.org |
> [snip]
> > //" bne %0, %9, 2b\n"
> > " .set mips0\n"
> > " .set reorder"
> > : "=r" (tag[1][way][0]), "=r" (datalo[1][way][0]),
> > "=r" (datahi[1][way][0]),
> > "=r" (tag[1][way][1]), "=r" (datalo[1][way][1]),
> > "=r" (datahi[1][way][1]),
> > "=r" (tag[1][way][2]), "=r" (datalo[1][way][2]),
> > "=r" (datahi[1][way][2]),
> > "=r" (tag[1][way][3]), "=r" (datalo[1][way][3]),
> > "=r" (datahi[1][way][3])
> > : "r" (0x80000000 | (way << 14) | (line << 5))
> > );
>
> And this part may cause the problem you are seeing, I presume
> datalo/datahi live in memory, and accesses of it change the dcache.
As I was hoping disassembly would demonstrate for you,
declaring "=r" doesn't mean that the variable has no life
outside a register.
Regards,
Kevin K.
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Problem with malta 4Kc on 2.6.16, Kishore K |
|---|---|
| Next by Date: | Re: why not put 64 bit value directly to register, Thiemo Seufer |
| Previous by Thread: | Re: Reading an entire cacheline, Thiemo Seufer |
| Next by Thread: | RE: Reading an entire cacheline, Kim, Jong-Sung |
| Indexes: | [Date] [Thread] [Top] [All Lists] |