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

Justin Hibbits jhibbits at FreeBSD.org
Sun Oct 20 15:50:34 UTC 2019


Author: jhibbits
Date: Sun Oct 20 15:50:33 2019
New Revision: 353777
URL: https://svnweb.freebsd.org/changeset/base/353777

Log:
  powerpc/booke: Don't zero MAS8, it's unnecessary
  
  MAS8 is hypervisor privileged, defining the logical partition (VM) to
  operate on for TLB accesses.  It's already guaranteed to be cleared when
  booting bare metal (bootloader needs it zeroed to work), and we can't touch
  it from a guest.  Assume that if/when we eventually port bhyve to PowerPC
  (and Book-E) the hypervisor module will take care of managing MAS8.  This
  saves several (tens) of clocks on each TLB miss.
  
  MFC after:	2 weeks

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	Sun Oct 20 14:45:19 2019	(r353776)
+++ head/sys/powerpc/booke/locore.S	Sun Oct 20 15:50:33 2019	(r353777)
@@ -252,7 +252,6 @@ __start:
 	isync
 	li	%r4, 0
 	mtspr	SPR_MAS7, %r4
-	bl	zero_mas8
 	isync
 	tlbwe
 	isync
@@ -510,7 +509,6 @@ bp_kernload:
 	isync
 	li	%r4, 0
 	mtspr	SPR_MAS7, %r4
-	bl	zero_mas8
 	isync
 	tlbwe
 	isync
@@ -702,7 +700,6 @@ tlb1_temp_mapping_as1:
 	mflr	%r3
 	li	%r4, 0
 	mtspr	SPR_MAS7, %r4
-	bl	zero_mas8
 	mtlr	%r3
 	isync
 	tlbwe
@@ -738,24 +735,6 @@ tlb1_inval_all_but_current:
 2:	addi	%r4, %r4, 1
 	cmpw	%r4, %r3		/* Check if this is the last entry */
 	bne	1b
-	blr
-
-/*
- * MAS8 conditional zeroing.
- */
-.globl zero_mas8
-zero_mas8:
-	mfpvr	%r20
-	rlwinm	%r20, %r20, 16, 16, 31
-	cmpli	0, 0, %r20, FSL_E500mc
-	beq	1f
-	cmpli	0, 0, %r20, FSL_E5500
-	beq	1f
-
-	blr
-1:
-	li	%r20, 0
-	mtspr	SPR_MAS8, %r20
 	blr
 #endif
 

Modified: head/sys/powerpc/booke/trap_subr.S
==============================================================================
--- head/sys/powerpc/booke/trap_subr.S	Sun Oct 20 14:45:19 2019	(r353776)
+++ head/sys/powerpc/booke/trap_subr.S	Sun Oct 20 15:50:33 2019	(r353777)
@@ -767,7 +767,6 @@ search_failed:
 
 	li	%r23, 0
 	mtspr	SPR_MAS7, %r23
-	bl	zero_mas8
 
 	isync
 	tlbwe
@@ -903,10 +902,6 @@ tlb_fill_entry:
 	mtspr	SPR_MAS2, %r27
 	mtspr	SPR_MAS3, %r22
 	mtspr	SPR_MAS7, %r23
-
-	mflr	%r21
-	bl	zero_mas8
-	mtlr	%r21
 
 	isync
 	tlbwe


More information about the svn-src-head mailing list