diff options
Diffstat (limited to 'sys/arch/i386/i386/machdep.c')
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index e112ebfb611..97341394fc8 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.50 1997/09/22 12:11:19 deraadt Exp $ */ +/* $OpenBSD: machdep.c,v 1.51 1997/09/22 21:03:53 niklas Exp $ */ /* $NetBSD: machdep.c,v 1.202 1996/05/18 15:54:59 christos Exp $ */ /*- @@ -119,6 +119,7 @@ #endif #include "isa.h" +#include "isadma.h" #include "npx.h" #if NNPX > 0 extern struct proc *npxproc; @@ -202,7 +203,7 @@ cpu_startup() struct pcb *pcb; int x; - /* + /* * Initialize error message buffer (at end of core). */ /* avail_end was pre-decremented in pmap_bootstrap to compensate */ @@ -220,6 +221,14 @@ cpu_startup() 1024 * cnvmem, 1024 * extmem); printf("real mem = %d\n", ctob(physmem)); +#if NISA > 0 && NISADMA > 0 + /* + * We need the bounce buffer allocated early so we have a good chance + * of getting a chunk of continuous low memory. + */ + isadma_init(); +#endif + /* * Find out how much space we need, allocate it, * and then give everything true virtual addresses. @@ -284,8 +293,8 @@ cpu_startup() * Finally, allocate mbuf pool. Since mclrefcnt is an off-size * we use the more space efficient malloc in place of kmem_alloc. */ - mclrefcnt = (char *)malloc(NMBCLUSTERS+CLBYTES/MCLBYTES, - M_MBUF, M_NOWAIT); + mclrefcnt = (char *)malloc(NMBCLUSTERS+CLBYTES/MCLBYTES, M_MBUF, + M_NOWAIT); bzero(mclrefcnt, NMBCLUSTERS+CLBYTES/MCLBYTES); mb_map = kmem_suballoc(kernel_map, (vm_offset_t *)&mbutl, &maxaddr, VM_MBUF_SIZE, FALSE); |