diff options
author | 2014-05-24 21:11:01 +0000 | |
---|---|---|
committer | 2014-05-24 21:11:01 +0000 | |
commit | 02ce23a61c6223686cea53e3a4eb21b47e470184 (patch) | |
tree | 32f26e34fafe1c5d9f390af9b90e4b86e77d1592 | |
parent | Barriers for mips64 (diff) | |
download | wireguard-openbsd-02ce23a61c6223686cea53e3a4eb21b47e470184.tar.xz wireguard-openbsd-02ce23a61c6223686cea53e3a4eb21b47e470184.zip |
Provide bus_space_mmap()
-rw-r--r-- | sys/arch/loongson/dev/bonito.c | 11 | ||||
-rw-r--r-- | sys/arch/loongson/include/bus.h | 7 | ||||
-rw-r--r-- | sys/arch/loongson/loongson/bus_space.c | 9 |
3 files changed, 22 insertions, 5 deletions
diff --git a/sys/arch/loongson/dev/bonito.c b/sys/arch/loongson/dev/bonito.c index 57c902c460f..08793435314 100644 --- a/sys/arch/loongson/dev/bonito.c +++ b/sys/arch/loongson/dev/bonito.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bonito.c,v 1.25 2014/03/27 22:16:03 miod Exp $ */ +/* $OpenBSD: bonito.c,v 1.26 2014/05/24 21:11:01 miod Exp $ */ /* $NetBSD: bonito_mainbus.c,v 1.11 2008/04/28 20:23:10 martin Exp $ */ /* $NetBSD: bonito_pci.c,v 1.5 2008/04/28 20:23:28 martin Exp $ */ @@ -173,7 +173,8 @@ struct mips_bus_space bonito_pci_io_space_tag = { ._space_map = bonito_io_map, ._space_unmap = generic_space_unmap, ._space_subregion = generic_space_region, - ._space_vaddr = generic_space_vaddr + ._space_vaddr = generic_space_vaddr, + ._space_mmap = generic_space_mmap }; struct mips_bus_space bonito_pci_mem_space_tag = { @@ -195,7 +196,8 @@ struct mips_bus_space bonito_pci_mem_space_tag = { ._space_map = bonito_mem_map, ._space_unmap = generic_space_unmap, ._space_subregion = generic_space_region, - ._space_vaddr = generic_space_vaddr + ._space_vaddr = generic_space_vaddr, + ._space_mmap = generic_space_mmap }; int @@ -203,6 +205,9 @@ bonito_match(struct device *parent, void *vcf, void *aux) { struct mainbus_attach_args *maa = aux; + if (loongson_ver >= 0x3a) + return (0); + if (strcmp(maa->maa_name, bonito_cd.cd_name) == 0) return (1); diff --git a/sys/arch/loongson/include/bus.h b/sys/arch/loongson/include/bus.h index 640d7348f63..aa0ada589d0 100644 --- a/sys/arch/loongson/include/bus.h +++ b/sys/arch/loongson/include/bus.h @@ -1,4 +1,4 @@ -/* $OpenBSD: bus.h,v 1.5 2014/03/29 18:09:29 guenther Exp $ */ +/* $OpenBSD: bus.h,v 1.6 2014/05/24 21:11:01 miod Exp $ */ /* * Copyright (c) 2003-2004 Opsycon AB Sweden. All rights reserved. @@ -82,6 +82,8 @@ struct mips_bus_space { int (*_space_subregion)(bus_space_tag_t, bus_space_handle_t, bus_size_t, bus_size_t, bus_space_handle_t *); void * (*_space_vaddr)(bus_space_tag_t, bus_space_handle_t); + paddr_t (*_space_mmap)(bus_space_tag_t, bus_addr_t, off_t, + int, int); }; #define bus_space_read_1(t, h, o) (*(t)->_space_read_1)((t), (h), (o)) @@ -118,6 +120,8 @@ struct mips_bus_space { #define BUS_SPACE_MAP_PREFETCHABLE 0x04 #define bus_space_vaddr(t, h) (*(t)->_space_vaddr)((t), (h)) +#define bus_space_mmap(t, a, o, p, f) \ + (*(t)->_space_mmap)((t), (a), (o), (p), (f)) /*----------------------------------------------------------------------------*/ #define bus_space_read_multi(n,m) \ @@ -313,6 +317,7 @@ void generic_space_read_raw_8(bus_space_tag_t, bus_space_handle_t, bus_addr_t, uint8_t *, bus_size_t); void generic_space_write_raw_8(bus_space_tag_t, bus_space_handle_t, bus_addr_t, const uint8_t *, bus_size_t); +paddr_t generic_space_mmap(bus_space_tag_t, bus_addr_t, off_t, int, int); /*----------------------------------------------------------------------------*/ /* diff --git a/sys/arch/loongson/loongson/bus_space.c b/sys/arch/loongson/loongson/bus_space.c index d29006d6dbf..3e1bbe1e5e1 100644 --- a/sys/arch/loongson/loongson/bus_space.c +++ b/sys/arch/loongson/loongson/bus_space.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bus_space.c,v 1.1.1.1 2009/12/11 17:05:08 miod Exp $ */ +/* $OpenBSD: bus_space.c,v 1.2 2014/05/24 21:11:01 miod Exp $ */ /* * Copyright (c) 2001-2003 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -185,3 +185,10 @@ generic_space_vaddr(bus_space_tag_t t, bus_space_handle_t h) { return (void *)h; } + +paddr_t +generic_space_mmap(bus_space_tag_t t, bus_addr_t addr, off_t off, int prot, + int flags) +{ + return (paddr_t)-1; +} |