svn commit: r260165 - head/sys/dev/ahci

Zbigniew Bodek zbb at FreeBSD.org
Wed Jan 1 20:26:08 UTC 2014


Author: zbb
Date: Wed Jan  1 20:26:08 2014
New Revision: 260165
URL: http://svnweb.freebsd.org/changeset/base/260165

Log:
  Use only mapped BIOs on ARM
  
  Using unmapped BIOs causes failure inside bus_dmamap_sync, since
  this function requires valid MVA address, which is not present
  if mapping is not set up.
  
  Submitted by:	Wojciech Macek <wma at semihalf.com>
  Obtained from:	Semihalf

Modified:
  head/sys/dev/ahci/ahci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c	Wed Jan  1 20:22:29 2014	(r260164)
+++ head/sys/dev/ahci/ahci.c	Wed Jan  1 20:26:08 2014	(r260165)
@@ -3066,7 +3066,15 @@ ahciaction(struct cam_sim *sim, union cc
 		if (ch->caps & AHCI_CAP_SPM)
 			cpi->hba_inquiry |= PI_SATAPM;
 		cpi->target_sprt = 0;
+#ifdef __arm__
+		/*
+		 * Do not use unmapped buffers on ARM. Doing so will cause
+		 * failure inside bus_dmamap_sync due to lack of VA.
+		 */
+		cpi->hba_misc = PIM_SEQSCAN;
+#else
 		cpi->hba_misc = PIM_SEQSCAN | PIM_UNMAPPED;
+#endif
 		cpi->hba_eng_cnt = 0;
 		if (ch->caps & AHCI_CAP_SPM)
 			cpi->max_target = 15;


More information about the svn-src-all mailing list