Module Name: src Committed By: mrg Date: Wed Dec 28 03:27:08 UTC 2016
Modified Files: src/sys/arch/evbmips/cavium: machdep.c src/sys/arch/evbmips/conf: files.octeon Log Message: add an OCTEON_MEMSIZE option to override the uboot provided memory size. limiting this to 256 avoids an annoying uvm freelist problem on the 512mb erlite, partly described here: http://mail-index.netbsd.org/tech-kern/2016/12/20/msg021358.html To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbmips/cavium/machdep.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbmips/conf/files.octeon Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/evbmips/cavium/machdep.c diff -u src/sys/arch/evbmips/cavium/machdep.c:1.9 src/sys/arch/evbmips/cavium/machdep.c:1.10 --- src/sys/arch/evbmips/cavium/machdep.c:1.9 Thu Dec 22 14:47:56 2016 +++ src/sys/arch/evbmips/cavium/machdep.c Wed Dec 28 03:27:08 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.9 2016/12/22 14:47:56 cherry Exp $ */ +/* $NetBSD: machdep.c,v 1.10 2016/12/28 03:27:08 mrg Exp $ */ /* * Copyright 2001, 2002 Wasabi Systems, Inc. @@ -112,9 +112,10 @@ */ #include "opt_multiprocessor.h" +#include "opt_cavium.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.9 2016/12/22 14:47:56 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.10 2016/12/28 03:27:08 mrg Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -203,7 +204,11 @@ mach_init(uint64_t arg0, uint64_t arg1, sizeof(octeon_btinfo)); corefreq = octeon_btinfo.obt_eclock_hz; +#ifdef OCTEON_MEMSIZE // avoid uvm issue + memsize = OCTEON_MEMSIZE; +#else memsize = octeon_btinfo.obt_dram_size * 1024 * 1024; +#endif octeon_cal_timer(corefreq); Index: src/sys/arch/evbmips/conf/files.octeon diff -u src/sys/arch/evbmips/conf/files.octeon:1.5 src/sys/arch/evbmips/conf/files.octeon:1.6 --- src/sys/arch/evbmips/conf/files.octeon:1.5 Fri Dec 9 10:30:48 2016 +++ src/sys/arch/evbmips/conf/files.octeon Wed Dec 28 03:27:08 2016 @@ -1,4 +1,4 @@ -# $NetBSD: files.octeon,v 1.5 2016/12/09 10:30:48 roy Exp $ +# $NetBSD: files.octeon,v 1.6 2016/12/28 03:27:08 mrg Exp $ file arch/evbmips/cavium/autoconf.c file arch/evbmips/cavium/machdep.c @@ -18,3 +18,6 @@ include "external/bsd/sljit/conf/files.s # Memory Disk file dev/md_root.c memory_disk_hooks + +# workaround Cavium 50x0 problem vs uvm freelists +defparam opt_cavium.h OCTEON_MEMSIZE