Author: jhibbits
Date: Tue Nov 19 01:28:06 2019
New Revision: 354838
URL: https://svnweb.freebsd.org/changeset/base/354838

Log:
  powerpc/booke pmap: Use the right 'tlbilx' form to invalidate TIDs
  
  'tlbilxpid' is 'tlbilx 1, 0', while the existing form is 'tlbilx 0, 0',
  which translates to 'tlbilxlpid', invalidating a LDPID.  This effectively
  invalidates the entire TLB, causing unnecessary reloads.

Modified:
  head/sys/powerpc/booke/pmap.c

Modified: head/sys/powerpc/booke/pmap.c
==============================================================================
--- head/sys/powerpc/booke/pmap.c       Tue Nov 19 00:02:56 2019        
(r354837)
+++ head/sys/powerpc/booke/pmap.c       Tue Nov 19 01:28:06 2019        
(r354838)
@@ -4254,7 +4254,7 @@ tid_flush(tlbtid_t tid)
        case FSL_E6500:
                mtspr(SPR_MAS6, tid << MAS6_SPID0_SHIFT);
                /* tlbilxpid */
-               __asm __volatile("isync; .long 0x7c000024; isync; msync");
+               __asm __volatile("isync; .long 0x7c200024; isync; msync");
                __asm __volatile("wrtee %0" :: "r"(msr));
                return;
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to