summaryrefslogtreecommitdiff
path: root/sys/arch/i386/i386/machdep.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/i386/machdep.c')
-rw-r--r--sys/arch/i386/i386/machdep.c17
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);