diff --git a/sys/arch/vax/uba/uba_ibus.c b/sys/arch/vax/uba/uba_ibus.c index 3bec7435a652..3d2026588bc7 100644 --- a/sys/arch/vax/uba/uba_ibus.c +++ b/sys/arch/vax/uba/uba_ibus.c @@ -1,4 +1,4 @@ -/* $NetBSD: uba_ibus.c,v 1.1 1999/08/07 10:36:47 ragge Exp $ */ +/* $NetBSD: uba_ibus.c,v 1.2 2001/05/01 13:20:02 ragge Exp $ */ /* * Copyright (c) 1996 Jonathan Stone. * Copyright (c) 1994, 1996 Ludd, University of Lule}, Sweden. @@ -47,11 +47,14 @@ #include #include #include +#include #include #include +#include "opt_cputype.h" + /* Some Qbus-specific defines */ #define QBASIZE (8192 * VAX_NBPG) #define QBAMAP 0x20088000 @@ -72,6 +75,7 @@ struct cfattach uba_ibus_ca = { }; extern struct vax_bus_space vax_mem_bus_space; +extern struct vax_bus_dma_tag vax_bus_dma_tag; int qba_match(parent, vcf, aux) @@ -109,7 +113,13 @@ qba_attach(parent, self, aux) sc->uv_size = QBASIZE; /* Size in bytes of Qbus space */ sc->uv_addr = QBAMAP; /* Physical address of map registers */ - uba_dma_init(sc); +#if defined(VAX610) + if (vax_boardtype == VAX_BTYP_610) { + sc->uv_sc.uh_dmat = &vax_bus_dma_tag; + sc->uv_sc.uh_beforescan = NULL; + } else +#endif + uba_dma_init(sc); uba_attach(&sc->uv_sc, QIOPAGE); }