Module Name: src Committed By: jdc Date: Thu Jul 10 06:24:02 UTC 2014
Modified Files: src/sys/arch/sparc64/include: param.h src/sys/arch/sparc64/sparc64: pmap.c Log Message: Increase maximum MSGBUFSIZE to 248k. While here, remove 2 sparc(32)-only entries (from mrg@). To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/arch/sparc64/include/param.h cvs rdiff -u -r1.288 -r1.289 src/sys/arch/sparc64/sparc64/pmap.c 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/sparc64/include/param.h diff -u src/sys/arch/sparc64/include/param.h:1.53 src/sys/arch/sparc64/include/param.h:1.54 --- src/sys/arch/sparc64/include/param.h:1.53 Fri Feb 21 18:00:09 2014 +++ src/sys/arch/sparc64/include/param.h Thu Jul 10 06:24:02 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: param.h,v 1.53 2014/02/21 18:00:09 palle Exp $ */ +/* $NetBSD: param.h,v 1.54 2014/07/10 06:24:02 jdc Exp $ */ /* * Copyright (c) 1992, 1993 @@ -168,13 +168,12 @@ extern int nbpg, pgofset, pgshift; #define _MAXNBPG 8192 /* fixed VAs, independent of actual NBPG */ -#define AUXREG_VA ( KERNEND + _MAXNBPG) /* 1 page REDZONE */ -#define TMPMAP_VA ( AUXREG_VA + _MAXNBPG) -#define MSGBUF_VA ( TMPMAP_VA + _MAXNBPG) +#define MSGBUF_VA ( KERNEND + _MAXNBPG) /* 1 page REDZONE */ /* + * Maximum message buffer size is 248k. * Here's the location of the interrupt stack and CPU structure. */ -#define INTSTACK ( KERNEND + 8*_MAXNBPG) +#define INTSTACK ( KERNEND + 32*_MAXNBPG) #define EINTSTACK ( INTSTACK + 4*_MAXNBPG) #define CPUINFO_VA ( EINTSTACK ) #define PANICSTACK ( INTSTACK + 8*_MAXNBPG) @@ -197,7 +196,13 @@ extern int nbpg, pgofset, pgshift; #define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */ -#define MSGBUFSIZE NBPG +#if !defined (MSGBUFSIZE) /* options MSGBUFSIZE=integer */ +#define MSGBUFSIZE 4 * NBPG +#else +#if INTSTACK - MSGBUF_VA - MSGBUFSIZE < 0 +#error MSGBUFSIZE is too large +#endif +#endif /* * Minimum size of the kernel kmem_arena in PAGE_SIZE-sized Index: src/sys/arch/sparc64/sparc64/pmap.c diff -u src/sys/arch/sparc64/sparc64/pmap.c:1.288 src/sys/arch/sparc64/sparc64/pmap.c:1.289 --- src/sys/arch/sparc64/sparc64/pmap.c:1.288 Thu Jun 5 19:47:24 2014 +++ src/sys/arch/sparc64/sparc64/pmap.c Thu Jul 10 06:24:02 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.288 2014/06/05 19:47:24 palle Exp $ */ +/* $NetBSD: pmap.c,v 1.289 2014/07/10 06:24:02 jdc Exp $ */ /* * * Copyright (C) 1996-1999 Eduardo Horvath. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.288 2014/06/05 19:47:24 palle Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.289 2014/07/10 06:24:02 jdc Exp $"); #undef NO_VCACHE /* Don't forget the locked TLB in dostart */ #define HWREF @@ -742,8 +742,7 @@ pmap_bootstrap(u_long kernelstart, u_lon * Get hold or the message buffer. */ msgbufp = (struct kern_msgbuf *)(vaddr_t)MSGBUF_VA; -/* XXXXX -- increase msgbufsiz for uvmhist printing */ - msgbufsiz = 4*PAGE_SIZE /* round_page(sizeof(struct msgbuf)) */; + msgbufsiz = MSGBUFSIZE; BDPRINTF(PDB_BOOT, ("Trying to allocate msgbuf at %lx, size %lx\n", (long)msgbufp, (long)msgbufsiz)); if ((long)msgbufp !=