summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorragge <ragge@NetBSD.org>1998-03-02 17:00:00 +0000
committerragge <ragge@NetBSD.org>1998-03-02 17:00:00 +0000
commit8e2874bf645aaf361cbdf8b7e361efa6d5fba0f0 (patch)
tree1c1c789bb9820c4519b11d1cff2fdf053b110266 /sys/dev
parent699af7acdda82b61d89ffbcd262ad33add30d273 (diff)
Support for UVM on VAXen.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/dec/qbus/uba.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/dev/dec/qbus/uba.c b/sys/dev/dec/qbus/uba.c
index 4d067e8c5fe..a797bca3c74 100644
--- a/sys/dev/dec/qbus/uba.c
+++ b/sys/dev/dec/qbus/uba.c
@@ -1,4 +1,4 @@
-/* $NetBSD: uba.c,v 1.32 1998/01/24 14:16:33 ragge Exp $ */
+/* $NetBSD: uba.c,v 1.33 1998/03/02 17:00:02 ragge Exp $ */
/*
* Copyright (c) 1996 Jonathan Stone.
* Copyright (c) 1994, 1996 Ludd, University of Lule}, Sweden.
@@ -434,8 +434,13 @@ qba_attach(parent, self, aux)
* Map in the UBA page map into kernel space. On other UBAs,
* the map registers are in the bus IO space.
*/
+#if defined(UVM)
+ (void)uvm_km_suballoc(kernel_map, &mini, &maxi,
+ QBAPAGES * sizeof(struct pte), FALSE, FALSE, NULL);
+#else
(void)kmem_suballoc(kernel_map, &mini, &maxi,
QBAPAGES * sizeof(struct pte), FALSE);
+#endif
pmap_map(mini, QBAMAP, QBAMAP + QBAPAGES * sizeof(struct pte),
VM_PROT_READ | VM_PROT_WRITE);
sc->uh_mr = (void *)mini;
@@ -849,8 +854,13 @@ uba_attach(sc, iopagephys)
vm_offset_t iarea;
int i;
+#if defined(UVM)
+ iarea = uvm_km_valloc(kernel_map,
+ NO_IVEC * sizeof(struct ivec_dsp));
+#else
iarea = kmem_alloc(kernel_map,
NO_IVEC * sizeof(struct ivec_dsp));
+#endif
sc->uh_idsp = (struct ivec_dsp *)iarea;
for (i = 0; i < NO_IVEC; i++) {
@@ -866,7 +876,12 @@ uba_attach(sc, iopagephys)
* This is done with kmem_suballoc() but after that
* never used in the vm system. Is it OK to do so?
*/
+#if defined(UVM)
+ (void)uvm_km_suballoc(kernel_map, &mini, &maxi, UBAIOPAGES * NBPG,
+ FALSE, FALSE, NULL);
+#else
(void)kmem_suballoc(kernel_map, &mini, &maxi, UBAIOPAGES * NBPG, FALSE);
+#endif
pmap_map(mini, iopagephys, iopagephys + UBAIOPAGES * NBPG,
VM_PROT_READ|VM_PROT_WRITE);
sc->uh_iopage = (void *)mini;