svn commit: r344729 - head/sys/powerpc/booke

Justin Hibbits jhibbits at FreeBSD.org
Sat Mar 2 20:59:19 UTC 2019


Author: jhibbits
Date: Sat Mar  2 20:59:18 2019
New Revision: 344729
URL: https://svnweb.freebsd.org/changeset/base/344729

Log:
  powerpc/booke: Depessimize MAS register updates even more
  
  Remove isyncs between MAS register updates in the TLB miss handler, since
  it's only needed before the TLB update instructions.

Modified:
  head/sys/powerpc/booke/locore.S
  head/sys/powerpc/booke/trap_subr.S

Modified: head/sys/powerpc/booke/locore.S
==============================================================================
--- head/sys/powerpc/booke/locore.S	Sat Mar  2 20:58:51 2019	(r344728)
+++ head/sys/powerpc/booke/locore.S	Sat Mar  2 20:59:18 2019	(r344729)
@@ -252,6 +252,7 @@ __start:
 	isync
 	bl	zero_mas7
 	bl	zero_mas8
+	isync
 	tlbwe
 	isync
 	msync
@@ -505,6 +506,7 @@ bp_kernload:
 	isync
 	bl	zero_mas7
 	bl	zero_mas8
+	isync
 	tlbwe
 	isync
 	msync
@@ -695,6 +697,7 @@ tlb1_temp_mapping_as1:
 	bl	zero_mas7
 	bl	zero_mas8
 	mtlr	%r3
+	isync
 	tlbwe
 	isync
 	msync
@@ -742,7 +745,6 @@ zero_mas7:
 
 	li	%r20, 0
 	mtspr	SPR_MAS7, %r20
-	isync
 1:
 	blr
 
@@ -759,7 +761,6 @@ zero_mas8:
 1:
 	li	%r20, 0
 	mtspr	SPR_MAS8, %r20
-	isync
 	blr
 #endif
 

Modified: head/sys/powerpc/booke/trap_subr.S
==============================================================================
--- head/sys/powerpc/booke/trap_subr.S	Sat Mar  2 20:58:51 2019	(r344728)
+++ head/sys/powerpc/booke/trap_subr.S	Sat Mar  2 20:59:18 2019	(r344729)
@@ -761,17 +761,14 @@ search_failed:
 
 	/* Load MAS registers. */
 	mtspr	SPR_MAS0, %r29
-	isync
 	mtspr	SPR_MAS1, %r28
-	isync
 	mtspr	SPR_MAS2, %r27
-	isync
 	mtspr	SPR_MAS3, %r23
-	isync
 
 	bl	zero_mas7
 	bl	zero_mas8
 
+	isync
 	tlbwe
 	msync
 	isync
@@ -906,20 +903,16 @@ tlb_fill_entry:
 
 	/* Load MAS registers. */
 	mtspr	SPR_MAS0, %r29
-	isync
 	mtspr	SPR_MAS1, %r28
-	isync
 	mtspr	SPR_MAS2, %r27
-	isync
 	mtspr	SPR_MAS3, %r22
-	isync
 	mtspr	SPR_MAS7, %r23
-	isync
 
 	mflr	%r21
 	bl	zero_mas8
 	mtlr	%r21
 
+	isync
 	tlbwe
 	isync
 	msync


More information about the svn-src-all mailing list