public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
From: Marcelo Tosatti <marcelo.tosatti@cyclades•com>
To: Joakim Tjernlund <Joakim.Tjernlund@lumentis•se>,
	Dan Malek <dan@embeddededge•com>
Cc: linuxppc-embedded@ozlabs•org
Subject: Re: 8xx v2.6 TLB problems and suggested workaround
Date: Fri, 22 Apr 2005 14:14:12 -0300	[thread overview]
Message-ID: <20050422171412.GC15370@logos.cnet> (raw)
In-Reply-To: <20050409223721.GA27454@logos.cnet>


Dan, 

I haven't heard your opinion on Joakim's proposed change yet. 

It looks plausible, and its more complete than dcbst's reimplementation 
with 8xx specific cache functions (because it also covers userspace dcbst
callers).

I would love to see this getting fixed in v2.6 mainline.

Thanks

On Sat, Apr 09, 2005 at 07:37:21PM -0300, Marcelo Tosatti wrote:
> On Sat, Apr 09, 2005 at 09:03:54PM +0200, Joakim Tjernlund wrote:
> > > 
> > > On Apr 8, 2005, at 7:07 AM, Marcelo Tosatti wrote:
> > > 
> > > > 1) _tlbie() on update_mmu_cache() surrounded by CONFIG_8xx #ifdef
> > > > Did you give up about it?
> > > 
> > > I think a tlbia() of the vaddr should work here.  No sense blowing
> > > away the whole TLB cache for this.
> > 
> > Umm, isn't it the other way around? tlbie flushes one TLB whereas tlbia flushes
> > all TLBs.
> 
> Yep
> 
> > > > What else you think can be done?
> > > 
> > > It would be interesting to change __flush_dcache_icache()
> > > to use the 8xx SPR cache operations instead of the dcbst instruction.
> > 
> > yes, but I think these operates on physical addresses which makes it a bit harder.
> 
> Other than the fact of userspace dcbst users.
> 
> > I still think this can be resolved in fault.c. Replace 
> > 	andis.	r11, r10, 0x0200	/* If set, indicates store op */
> > 	beq	2f
> > in the DTLB Error handler with
> > 	andis.	r11, r10, 0x4800	/* If set, indicates invalid pte or protection violation */
> > 	bne	2f
> 
> Why does the current code jump to page fault handler in case of store operation? 
> 
> Out of curiosity, aren't there any other valid bit combinations for DSISR other
> than 0x4800 which should allow a fastpath DataTLBError ?
> 
> I can't find DSISR settings in MPC860UM.pdf neither paper manual. AFAICS it
> always refer to the PEM when talking about DSISR bit assignments. 
> 
> I can't find section "7-15" as you mentioned in the other email.
> 
> > In fault.c you can check if both store and invalid is set simultaneously. If it is, clear
> > the store flag and continue as usual.
> 
> One point is that by changing the in-kernel dcbst implementation userspace is 
> still vulnerable to the problem.
> 
> Now fixing the exception handler to deal with such boggosity as Joakim proposes is 
> complete - it handles userspace dcbst callers. 
> 
> > > I wouldn't be surprised if it worked differently, but I'd not be
> > > able to explain it :-)
> > > 
> > > Thanks.
> > > 
> > > 	-- Dan
> > > 
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs•org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded

  parent reply	other threads:[~2005-04-22 22:17 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-05 21:51 8xx v2.6 TLB problems and suggested workaround Joakim Tjernlund
2005-04-06 12:16 ` Marcelo Tosatti
2005-04-06 21:24   ` Joakim Tjernlund
2005-04-07 12:00     ` Marcelo Tosatti
2005-04-07 20:35       ` Joakim Tjernlund
2005-04-07 19:38         ` Marcelo Tosatti
2005-04-08  2:09           ` Dan Malek
2005-04-08 11:07             ` Marcelo Tosatti
2005-04-09  5:16               ` Dan Malek
2005-04-09 19:03                 ` Joakim Tjernlund
2005-04-09 22:37                   ` Marcelo Tosatti
2005-04-10 10:08                     ` Joakim Tjernlund
2005-04-22 17:14                     ` Marcelo Tosatti [this message]
2005-04-23 21:55                   ` Dan Malek
2005-04-23 22:07                     ` Joakim Tjernlund
2005-04-23 22:23                       ` Dan Malek
2005-04-08  8:01           ` Joakim Tjernlund
2005-04-08 13:39             ` Dan Malek
2005-04-08 14:29               ` Joakim Tjernlund
  -- strict thread matches above, loose matches on Subject: below --
2005-04-04 19:17 Marcelo Tosatti
2005-04-04 20:09 ` Marcelo Tosatti
2005-04-05  7:08   ` Pantelis Antoniou
2005-04-05  1:11 ` Kumar Gala
2005-04-05 15:58 ` Dan Malek
2005-04-05 11:41   ` Marcelo Tosatti
2005-04-05 20:26     ` Marcelo Tosatti
2005-04-06  6:00   ` Pantelis Antoniou

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=20050422171412.GC15370@logos.cnet \
    --to=marcelo.tosatti@cyclades$(echo .)com \
    --cc=Joakim.Tjernlund@lumentis$(echo .)se \
    --cc=dan@embeddededge$(echo .)com \
    --cc=linuxppc-embedded@ozlabs$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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