Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Mar 2013 10:41:54 +0000 (UTC)
From:      Olivier Houchard <cognet@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r247776 - head/sys/arm/arm
Message-ID:  <201303041041.r24Afs5J014572@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303041041.r24Afs5J014572>