svn commit: r247776 - head/sys/arm/arm

Olivier Houchard cognet at FreeBSD.org
Mon Mar 4 10:41:54 UTC 2013


Author: cognet
Date: Mon Mar  4 10:41:54 2013
New Revision: 247776
URL: http://svnweb.freebsd.org/changeset/base/247776

Log:
  If we're using a PIPT L2 cache, only merge 2 segments if both the virtual
  and the physical addreses are contiguous.
  
  Submitted by:	Thomas Skibo <ThomasSkibo at sbcglobal.net>

Modified:
  head/sys/arm/arm/busdma_machdep-v6.c

Modified: head/sys/arm/arm/busdma_machdep-v6.c
==============================================================================
--- head/sys/arm/arm/busdma_machdep-v6.c	Mon Mar  4 09:35:50 2013	(r247775)
+++ head/sys/arm/arm/busdma_machdep-v6.c	Mon Mar  4 10:41:54 2013	(r247776)
@@ -1007,6 +1007,9 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dm
 		} else {
 			sl = &map->slist[map->sync_count - 1];
 			if (map->sync_count == 0 ||
+#ifdef ARM_L2_PIPT
+			    curaddr != sl->busaddr + sl->datacount ||
+#endif
 			    vaddr != sl->vaddr + sl->datacount) {
 				if (++map->sync_count > dmat->nsegments)
 					goto cleanup;


More information about the svn-src-all mailing list