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) {
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to