- register i;
-
-COUNT(MBUFINIT);
- m = (struct mbuf *)&mbutl[0]; /* ->start of buffer virt mem */
- vmemall(&Mbmap[0], 2, proc, CSYS);
- vmaccess(&Mbmap[0], m, 2);
- for (i=0; i < NMBPG; i++) {
- m->m_off = 0;
- m_free(m);
- m++;
- }
- pg_alloc(3);
- mbstat.m_pages = 4;
- mbstat.m_bufs = 32;
- mbstat.m_lowat = 16;
- mbstat.m_hiwat = 32;
- { int i,j,k,n;
- n = 32;
- k = n << 1;
- if ((i = rmalloc(mbmap, n)) == 0)
- return (0);
- j = i<<1;
- m = pftom(i);
- /* should use vmemall sometimes */
- if (memall(&Mbmap[j], k, proc, CSYS) == 0) {
- printf("botch\n");
- return;
- }
- vmaccess(&Mbmap[j], (caddr_t)m, k);
- for (j=0; j < n; j++) {
- m->m_off = 0;
- m->m_next = mpfree;
- mpfree = m;
- m += NMBPG;
- nmpfree++;
- }
- }
-}
-
-pg_alloc(n)
- register int n;