svn commit: r204504 - user/jmallett/octeon/sys/mips/mips

Juli Mallett jmallett at FreeBSD.org
Mon Mar 1 04:07:56 UTC 2010


Author: jmallett
Date: Mon Mar  1 04:07:56 2010
New Revision: 204504
URL: http://svn.freebsd.org/changeset/base/204504

Log:
  o) nkpt calculation is busted with 64-bit addresses, so don't use memory above
     512M so we don't have to recalculate it.  Gross.
  o) Fix thread0 stack setup to load the whole stack address in case of n64.

Modified:
  user/jmallett/octeon/sys/mips/mips/locore.S
  user/jmallett/octeon/sys/mips/mips/pmap.c

Modified: user/jmallett/octeon/sys/mips/mips/locore.S
==============================================================================
--- user/jmallett/octeon/sys/mips/mips/locore.S	Mon Mar  1 03:37:37 2010	(r204503)
+++ user/jmallett/octeon/sys/mips/mips/locore.S	Mon Mar  1 04:07:56 2010	(r204504)
@@ -178,8 +178,8 @@ VECTOR(_locore, unknown)
 	nop
 
 	PTR_LA	sp, _C_LABEL(thread0)
-	lw      a0, TD_PCB(sp)
-	li	t0, ~7
+	REG_L	a0, TD_PCB(sp)
+	REG_LI	t0, ~7
 	and	a0, a0, t0
 	subu    sp, a0, START_FRAME
 

Modified: user/jmallett/octeon/sys/mips/mips/pmap.c
==============================================================================
--- user/jmallett/octeon/sys/mips/mips/pmap.c	Mon Mar  1 03:37:37 2010	(r204503)
+++ user/jmallett/octeon/sys/mips/mips/pmap.c	Mon Mar  1 04:07:56 2010	(r204504)
@@ -297,14 +297,22 @@ again:
 		phys_avail[i] = round_page(phys_avail[i]);
 		phys_avail[i + 1] = trunc_page(phys_avail[i + 1]);
 
-		if (phys_avail[i + 1] >= MIPS_KSEG0_LARGEST_PHYS)
+		if (phys_avail[i] >= MIPS_KSEG0_LARGEST_PHYS) {
+			phys_avail[i] = 0;
+			phys_avail[i + 1] = 0;
+		}
+
+		if (phys_avail[i + 1] >= MIPS_KSEG0_LARGEST_PHYS) {
+#if 0
 			memory_larger_than_512meg++;
+#endif
+			phys_avail[i + 1] = trunc_page(MIPS_KSEG0_LARGEST_PHYS - 1);
+		}
 		if (i < 2)
 			continue;
 		if (phys_avail[i - 2] > phys_avail[i]) {
 			vm_paddr_t ptemp[2];
 
-
 			ptemp[0] = phys_avail[i + 0];
 			ptemp[1] = phys_avail[i + 1];
 


More information about the svn-src-user mailing list