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

Justin Hibbits jhibbits at FreeBSD.org
Sun Aug 25 20:08:49 UTC 2019


Author: jhibbits
Date: Sun Aug 25 20:08:48 2019
New Revision: 351486
URL: https://svnweb.freebsd.org/changeset/base/351486

Log:
  powerpc/booke: Use the DMAP if possible in pmap_map()
  
  This avoids unnecessary TLB usage for statically mapped regions, such as
  vm_page_array.

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

Modified: head/sys/powerpc/booke/pmap.c
==============================================================================
--- head/sys/powerpc/booke/pmap.c	Sun Aug 25 19:39:31 2019	(r351485)
+++ head/sys/powerpc/booke/pmap.c	Sun Aug 25 20:08:48 2019	(r351486)
@@ -2546,8 +2546,11 @@ mmu_booke_map(mmu_t mmu, vm_offset_t *virt, vm_paddr_t
 	vm_offset_t sva = *virt;
 	vm_offset_t va = sva;
 
-	//debugf("mmu_booke_map: s (sva = 0x%08x pa_start = 0x%08x pa_end = 0x%08x)\n",
-	//		sva, pa_start, pa_end);
+#ifdef __powerpc64__
+	/* XXX: Handle memory not starting at 0x0. */
+	if (pa_end < ctob(Maxmem))
+		return (PHYS_TO_DMAP(pa_start));
+#endif
 
 	while (pa_start < pa_end) {
 		mmu_booke_kenter(mmu, va, pa_start);
@@ -2556,7 +2559,6 @@ mmu_booke_map(mmu_t mmu, vm_offset_t *virt, vm_paddr_t
 	}
 	*virt = va;
 
-	//debugf("mmu_booke_map: e (va = 0x%08x)\n", va);
 	return (sva);
 }
 


More information about the svn-src-head mailing list