Author: jmallett
Date: Fri Apr 23 19:20:56 2010
New Revision: 207131
URL: http://svn.freebsd.org/changeset/base/207131

Log:
  o) Remove default MAXMEM on SWARM; pmap can readily use lmem for >512M
     physical addresses.
  o) Set a local maxmem in sb_machdep.c to avoid trying to use pages over 2^64
     under 32-bit ABIs.  Our pmap needs corrected to use vm_paddr_t 
consistently,
     then we can make vm_paddr_t 64-bit under 32-bit ABIs and add code in pmap
     to limit phys_avail by the maximum PFN that a 32-bit PTE can hold.

Modified:
  head/sys/mips/conf/SWARM
  head/sys/mips/sibyte/sb_machdep.c

Modified: head/sys/mips/conf/SWARM
==============================================================================
--- head/sys/mips/conf/SWARM    Fri Apr 23 18:53:17 2010        (r207130)
+++ head/sys/mips/conf/SWARM    Fri Apr 23 19:20:56 2010        (r207131)
@@ -8,12 +8,6 @@ options                CPU_SB1
 files          "../sibyte/files.sibyte"
 hints          "SWARM.hints"
 
-#
-# 32-bit kernel cannot deal with physical memory beyond 4GB
-# XXX pmap assumes that all the memory can be mapped using KSEG0
-#
-options                MAXMEM=512*1024
-
 options                CFE
 options                CFE_CONSOLE
 options                CFE_ENV

Modified: head/sys/mips/sibyte/sb_machdep.c
==============================================================================
--- head/sys/mips/sibyte/sb_machdep.c   Fri Apr 23 18:53:17 2010        
(r207130)
+++ head/sys/mips/sibyte/sb_machdep.c   Fri Apr 23 19:20:56 2010        
(r207131)
@@ -158,6 +158,17 @@ mips_init(void)
        TUNABLE_INT_FETCH("hw.physmem", &tmp);
        maxmem = (uint64_t)tmp * 1024;
 
+       /*
+        * XXX
+        * If we used vm_paddr_t consistently in pmap, etc., we could
+        * use 64-bit page numbers on !n64 systems, too, like i386
+        * does with PAE.
+        */
+#if !defined(__mips_n64)
+       if (maxmem == 0 || maxmem > 0xffffffff)
+               maxmem = 0xffffffff;
+#endif
+
 #ifdef CFE
        /*
         * Query DRAM memory map from CFE.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to