linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Allowing i-side updates of TLB on 4xx/book-e
@ 2005-03-04  1:03 Kumar Gala
  0 siblings, 0 replies; only message in thread
From: Kumar Gala @ 2005-03-04  1:03 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: ppcembed Linux list

Paul,

I know its been forever since you looked at ppc32 and even longer for 
4xx/booke :)  I did have a question regarding some code on the i-side 
TLB faults in do_page_fault:

                 /* Since 4xx/Book-E supports per-page execute 
permission,
                  * we lazily flush dcache to icache. */
                 ptep = NULL;
                 if (get_pteptr(mm, address, &ptep) && 
pte_present(*ptep)) {
                         struct page *page = pte_page(*ptep);

                         if (! test_bit(PG_arch_1, &page->flags)) {
                                 flush_dcache_icache_page(page);
                                 set_bit(PG_arch_1, &page->flags);
                         }
                         pte_update(ptep, 0, _PAGE_HWEXEC);
                         _tlbie(address);
                         pte_unmap(ptep);
                         up_read(&mm->mmap_sem);
                         return 0;
                 }

Is there a reason we don't allow preloading of the I-side TLB entry 
that we just updated, rather than doing the _tlbie?  We have to figure 
that we are about to take another I-TLB miss to reload the entry we 
just got this InstructionStorage fault for.  Is there something I'm 
missing?

thanks

- kumar

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-03-04  1:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-04  1:03 Allowing i-side updates of TLB on 4xx/book-e Kumar Gala

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).