From 313861b8968fefb2c14c31415f2fc3d75887d3fa Mon Sep 17 00:00:00 2001 From: Julian Elischer Date: Mon, 19 Aug 1996 19:22:26 +0000 Subject: [PATCH] for kern_conf.c, start allocating dynamic major numbers half way through the range rather than possibly colliding with fixed elements. Increase the size of the arrays to take this into account.. remember that each element in the array is now only 1 ponter so this isn't that much.. also note a possible bug in debugging code in uipc_socket2.c (add XXX) --- sys/kern/kern_conf.c | 22 +++++++++++++--------- sys/kern/uipc_sockbuf.c | 4 ++-- sys/kern/uipc_socket2.c | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index b403dbf02f74..ede49b56aa61 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kern_conf.c,v 1.9 1995/12/22 15:56:33 phk Exp $ + * $Id: kern_conf.c,v 1.10 1996/07/23 21:52:06 phk Exp $ */ #include @@ -39,8 +39,10 @@ #include #include -#define NUMCDEV 96 -#define NUMBDEV 32 +#define NUMBDEV 128 +#define NUMCDEV 256 +#define bdevsw_ALLOCSTART (NUMBDEV/2) +#define cdevsw_ALLOCSTART (NUMCDEV/2) struct bdevsw *bdevsw[NUMBDEV]; int nblkdev = NUMBDEV; @@ -118,21 +120,21 @@ chrtoblk(dev_t dev) * (re)place an entry in the bdevsw or cdevsw table * return the slot used in major(*descrip) */ -#define ADDENTRY(TTYPE,NXXXDEV) \ +#define ADDENTRY(TTYPE,NXXXDEV,ALLOCSTART) \ int TTYPE##_add(dev_t *descrip, \ struct TTYPE *newentry, \ struct TTYPE **oldentry) \ { \ int i ; \ - if ( (int)*descrip == -1) { /* auto (0 is valid) */ \ + if ( (int)*descrip == NODEV) { /* auto (0 is valid) */ \ /* \ * Search the table looking for a slot... \ */ \ - for (i = 0; i < NXXXDEV; i++) \ + for (i = ALLOCSTART; i < NXXXDEV; i++) \ if (TTYPE[i] == NULL) \ break; /* found one! */ \ /* out of allocable slots? */ \ - if (i == NXXXDEV) { \ + if (i >= NXXXDEV) { \ return ENFILE; \ } \ } else { /* assign */ \ @@ -155,8 +157,10 @@ int TTYPE##_add(dev_t *descrip, \ return 0; \ } \ -ADDENTRY(bdevsw, nblkdev) -ADDENTRY(cdevsw, nchrdev) +ADDENTRY(bdevsw, nblkdev,bdevsw_ALLOCSTART) +ADDENTRY(cdevsw, nchrdev,cdevsw_ALLOCSTART) + +/* Maybe the author might indicate what the f*@# tehis is for? */ void cdevsw_make(struct bdevsw *from) diff --git a/sys/kern/uipc_sockbuf.c b/sys/kern/uipc_sockbuf.c index a178e029841d..1a79d870e69c 100644 --- a/sys/kern/uipc_sockbuf.c +++ b/sys/kern/uipc_sockbuf.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_socket2.c,v 1.10 1996/06/12 05:07:35 gpalmer Exp $ + * $Id: uipc_socket2.c,v 1.12 1996/07/11 16:31:59 wollman Exp $ */ #include @@ -446,7 +446,7 @@ sbcheck(sb) for (m = sb->sb_mb; m; m = m->m_next) { len += m->m_len; mbcnt += MSIZE; - if (m->m_flags & M_EXT) + if (m->m_flags & M_EXT) /*XXX*/ /* pretty sure this is bogus */ mbcnt += m->m_ext.ext_size; if (m->m_nextpkt) panic("sbcheck nextpkt"); diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c index a178e029841d..1a79d870e69c 100644 --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id: uipc_socket2.c,v 1.10 1996/06/12 05:07:35 gpalmer Exp $ + * $Id: uipc_socket2.c,v 1.12 1996/07/11 16:31:59 wollman Exp $ */ #include @@ -446,7 +446,7 @@ sbcheck(sb) for (m = sb->sb_mb; m; m = m->m_next) { len += m->m_len; mbcnt += MSIZE; - if (m->m_flags & M_EXT) + if (m->m_flags & M_EXT) /*XXX*/ /* pretty sure this is bogus */ mbcnt += m->m_ext.ext_size; if (m->m_nextpkt) panic("sbcheck nextpkt");