Implement bus_space_mmap.

This commit is contained in:
fredette 2001-11-30 18:11:56 +00:00
parent d925ceec5b
commit a5c8b5d17f
4 changed files with 37 additions and 29 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: mbio.c,v 1.5 2001/06/27 03:00:45 fredette Exp $ */
/* $NetBSD: mbio.c,v 1.6 2001/11/30 18:11:56 fredette Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -65,8 +65,8 @@ struct cfattach mbio_ca = {
sizeof(struct mbio_softc), mbio_match, mbio_attach
};
static int mbio_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
int, bus_space_handle_t *));
static paddr_t mbio_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
off_t, int, int));
static int _mbio_bus_map __P((bus_space_tag_t, bus_type_t, bus_addr_t,
bus_size_t, int,
vaddr_t, bus_space_handle_t *));
@ -165,15 +165,17 @@ _mbio_bus_map(t, btype, paddr, size, flags, vaddr, hp)
size, flags | _SUN68K_BUS_MAP_USE_PROM, vaddr, hp));
}
int
mbio_bus_mmap(t, btype, paddr, flags, hp)
paddr_t
mbio_bus_mmap(t, btype, paddr, off, prot, flags)
bus_space_tag_t t;
bus_type_t btype;
bus_addr_t paddr;
off_t off;
int prot;
int flags;
bus_space_handle_t *hp;
{
struct mbio_softc *sc = t->cookie;
return (bus_space_mmap(sc->sc_bustag, PMAP_MBIO, paddr, flags, hp));
return (bus_space_mmap2(sc->sc_bustag, PMAP_MBIO, paddr, off,
prot, flags));
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: mbmem.c,v 1.6 2001/06/27 03:00:45 fredette Exp $ */
/* $NetBSD: mbmem.c,v 1.7 2001/11/30 18:11:56 fredette Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -67,8 +67,8 @@ struct cfattach mbmem_ca = {
sizeof(struct mbmem_softc), mbmem_match, mbmem_attach
};
static int mbmem_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
int, bus_space_handle_t *));
static paddr_t mbmem_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
off_t, int, int));
static int _mbmem_bus_map __P((bus_space_tag_t, bus_type_t, bus_addr_t,
bus_size_t, int,
vaddr_t, bus_space_handle_t *));
@ -179,17 +179,19 @@ _mbmem_bus_map(t, btype, paddr, size, flags, vaddr, hp)
size, flags, vaddr, hp));
}
int
mbmem_bus_mmap(t, btype, paddr, flags, hp)
paddr_t
mbmem_bus_mmap(t, btype, paddr, off, prot, flags)
bus_space_tag_t t;
bus_type_t btype;
bus_addr_t paddr;
off_t off;
int prot;
int flags;
bus_space_handle_t *hp;
{
struct mbmem_softc *sc = t->cookie;
return (bus_space_mmap(sc->sc_bustag, PMAP_MBMEM, paddr, flags, hp));
return (bus_space_mmap2(sc->sc_bustag, PMAP_MBMEM, paddr, off,
prot, flags));
}
static int

View File

@ -1,4 +1,4 @@
/* $NetBSD: obio.c,v 1.5 2001/07/12 19:24:40 fredette Exp $ */
/* $NetBSD: obio.c,v 1.6 2001/11/30 18:11:56 fredette Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -65,8 +65,8 @@ struct cfattach obio_ca = {
sizeof(struct obio_softc), obio_match, obio_attach
};
static int obio_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
int, bus_space_handle_t *));
static paddr_t obio_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
off_t, int, int));
static int _obio_bus_map __P((bus_space_tag_t, bus_type_t, bus_addr_t,
bus_size_t, int,
vaddr_t, bus_space_handle_t *));
@ -169,17 +169,19 @@ _obio_bus_map(t, btype, paddr, size, flags, vaddr, hp)
size, flags | _SUN68K_BUS_MAP_USE_PROM, vaddr, hp));
}
int
obio_bus_mmap(t, btype, paddr, flags, hp)
paddr_t
obio_bus_mmap(t, btype, paddr, off, prot, flags)
bus_space_tag_t t;
bus_type_t btype;
bus_addr_t paddr;
off_t off;
int prot;
int flags;
bus_space_handle_t *hp;
{
struct obio_softc *sc = t->cookie;
return (bus_space_mmap(sc->sc_bustag, PMAP_OBIO, paddr, flags, hp));
return (bus_space_mmap2(sc->sc_bustag, PMAP_OBIO, paddr, off,
prot, flags));
}
/*
@ -197,7 +199,7 @@ _obio_addr_bad(t, h, o, s)
paddr_t pa;
/* Get the physical address for this page. */
pte = get_pte((vm_offset_t) (h + o));
pte = get_pte((vaddr_t) (h + o));
if (!(pte & PG_VALID))
return (-1);
pa = PG_PA(pte);

View File

@ -1,4 +1,4 @@
/* $NetBSD: obmem.c,v 1.4 2001/06/27 03:00:46 fredette Exp $ */
/* $NetBSD: obmem.c,v 1.5 2001/11/30 18:11:56 fredette Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -61,8 +61,8 @@ struct cfattach obmem_ca = {
sizeof(struct obmem_softc), obmem_match, obmem_attach
};
static int obmem_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
int, bus_space_handle_t *));
static paddr_t obmem_bus_mmap __P((bus_space_tag_t, bus_type_t, bus_addr_t,
off_t, int, int));
static int _obmem_bus_map __P((bus_space_tag_t, bus_type_t, bus_addr_t,
bus_size_t, int,
vaddr_t, bus_space_handle_t *));
@ -158,15 +158,17 @@ _obmem_bus_map(t, btype, paddr, size, flags, vaddr, hp)
size, flags, vaddr, hp));
}
int
obmem_bus_mmap(t, btype, paddr, flags, hp)
paddr_t
obmem_bus_mmap(t, btype, paddr, off, prot, flags)
bus_space_tag_t t;
bus_type_t btype;
bus_addr_t paddr;
off_t off;
int prot;
int flags;
bus_space_handle_t *hp;
{
struct obmem_softc *sc = t->cookie;
return (bus_space_mmap(sc->sc_bustag, PMAP_OBMEM, paddr, flags, hp));
return (bus_space_mmap2(sc->sc_bustag, PMAP_OBMEM, paddr, off,
prot, flags));
}