Date: Mon, 1 Mar 2010 04:07:56 +0000 (UTC) From: Juli Mallett <jmallett@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r204504 - user/jmallett/octeon/sys/mips/mips Message-ID: <201003010407.o2147uf3086485@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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];
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003010407.o2147uf3086485>