From 2da88799653f15d9e98bbc13cf4c70a38feee300 Mon Sep 17 00:00:00 2001 From: Artur Grabowski Date: Wed, 8 Nov 2000 14:39:43 +0000 Subject: allocate le_iomem in le_ioasic_attach instead of MD code, only for UVM. --- sys/dev/tc/if_le_ioasic.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/dev/tc/if_le_ioasic.c b/sys/dev/tc/if_le_ioasic.c index b24f4ded59b..6940925fe52 100644 --- a/sys/dev/tc/if_le_ioasic.c +++ b/sys/dev/tc/if_le_ioasic.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_le_ioasic.c,v 1.4 1998/09/16 22:41:22 jason Exp $ */ +/* $OpenBSD: if_le_ioasic.c,v 1.5 2000/11/08 14:39:42 art Exp $ */ /* $NetBSD: if_le_ioasic.c,v 1.2 1996/05/07 02:24:56 thorpej Exp $ */ /* @@ -42,6 +42,11 @@ #include #include +#include +#ifdef UVM +#include +#endif + #ifdef INET #include #include @@ -54,8 +59,6 @@ #include #include -extern caddr_t le_iomem; - int le_ioasic_match __P((struct device *, void *, void *)); void le_ioasic_attach __P((struct device *, struct device *, void *)); @@ -89,6 +92,8 @@ le_ioasic_match(parent, match, aux) return (1); } +#define LE_IOASIC_MEMSIZE (128*1024) +#define LE_IOASIC_MEMALIGN (128*1024) void le_ioasic_attach(parent, self, aux) struct device *parent, *self; @@ -97,6 +102,15 @@ le_ioasic_attach(parent, self, aux) struct ioasicdev_attach_args *d = aux; register struct le_softc *lesc = (void *)self; register struct am7990_softc *sc = &lesc->sc_am7990; +#ifdef UVM + caddr_t le_iomem; +#else + extern caddr_t le_iomem; +#endif + +#ifdef UVM + le_iomem = (caddr_t)uvm_pagealloc_contig(LE_IOASIC_MEMSIZE, 0, 0, LE_IOASIC_MEMALIGN); +#endif lesc->sc_r1 = (struct lereg1 *) TC_DENSE_TO_SPARSE(TC_PHYS_TO_UNCACHED(d->iada_addr)); -- cgit v1.2.3