Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Sep 2010 09:18:07 +0000 (UTC)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r212842 - head/sys/mips/cavium
Message-ID:  <201009190918.o8J9I7PD095575@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jmallett
Date: Sun Sep 19 09:18:07 2010
New Revision: 212842
URL: http://svn.freebsd.org/changeset/base/212842

Log:
  Don't use memory that can't be direct-mapped on !n64.

Modified:
  head/sys/mips/cavium/octeon_machdep.c

Modified: head/sys/mips/cavium/octeon_machdep.c
==============================================================================
--- head/sys/mips/cavium/octeon_machdep.c	Sun Sep 19 09:03:11 2010	(r212841)
+++ head/sys/mips/cavium/octeon_machdep.c	Sun Sep 19 09:18:07 2010	(r212842)
@@ -286,6 +286,18 @@ octeon_memory_init(void)
 		if (addr == -1)
 			break;
 
+		/*
+		 * The SDK needs to be able to easily map any memory that might
+		 * come to it e.g. in the form of an mbuf.  Because on !n64 we
+		 * can't direct-map some addresses and we don't want to manage
+		 * temporary mappings within the SDK, don't feed memory that
+		 * can't be direct-mapped to the kernel.
+		 */
+#if !defined(__mips_n64)
+		if (!MIPS_DIRECT_MAPPABLE(addr + (1 << 20) - 1))
+			continue;
+#endif
+
 		physmem += btoc(1 << 20);
 
 		if (i > 0 && phys_avail[i - 1] == addr) {



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