diff options
Diffstat (limited to 'sys/arch')
-rw-r--r-- | sys/arch/sparc64/dev/schizo.c | 55 | ||||
-rw-r--r-- | sys/arch/sparc64/dev/schizoreg.h | 51 | ||||
-rw-r--r-- | sys/arch/sparc64/dev/schizovar.h | 62 |
3 files changed, 116 insertions, 52 deletions
diff --git a/sys/arch/sparc64/dev/schizo.c b/sys/arch/sparc64/dev/schizo.c index b00d8404e01..dff91a3caaa 100644 --- a/sys/arch/sparc64/dev/schizo.c +++ b/sys/arch/sparc64/dev/schizo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: schizo.c,v 1.1 2002/06/08 21:56:02 jason Exp $ */ +/* $OpenBSD: schizo.c,v 1.2 2002/06/08 23:31:30 jason Exp $ */ /* * Copyright (c) 2002 Jason L. Wright (jason@thought.net) @@ -50,49 +50,10 @@ #include <sparc64/dev/iommureg.h> #include <sparc64/dev/iommuvar.h> -#include <sparc64/dev/psychoreg.h> -#include <sparc64/dev/psychovar.h> +#include <sparc64/dev/schizoreg.h> +#include <sparc64/dev/schizovar.h> #include <sparc64/sparc64/cache.h> -#define SCZ_PCIA_MEM_MATCH 0x00040 -#define SCZ_PCIA_MEM_MASK 0x00048 -#define SCZ_PCIA_IO_MATCH 0x00050 -#define SCZ_PCIA_IO_MASK 0x00058 -#define SCZ_PCIB_MEM_MATCH 0x00060 -#define SCZ_PCIB_MEM_MASK 0x00068 -#define SCZ_PCIB_IO_MATCH 0x00070 -#define SCZ_PCIB_IO_MASK 0x00078 - -struct schizo_range { - u_int32_t cspace; - u_int32_t child_hi; - u_int32_t child_lo; - u_int32_t phys_hi; - u_int32_t phys_lo; - u_int32_t size_hi; - u_int32_t size_lo; -}; - -struct schizo_pbm { - struct schizo_softc *sp_sc; - - struct schizo_range *sp_range; - pci_chipset_tag_t sp_pc; - int sp_nreg; - int sp_nrange; - int sp_nintmap; - - bus_space_tag_t sp_memt; - bus_space_tag_t sp_iot; - bus_space_tag_t sp_cfgt; - bus_space_handle_t sp_cfgh; - bus_dma_tag_t sp_dmat; - int sp_bus; - int sp_flags; - int sp_bus_a; - bus_addr_t sp_confpaddr; -}; - extern struct sparc_pci_chipset _sparc_pci_chipset; int schizo_match(struct device *, void *, void *); @@ -102,16 +63,6 @@ int schizo_print(void *, const char *); u_int64_t schizo_read(bus_addr_t); -struct schizo_softc { - struct device sc_dv; - int sc_node; - bus_dma_tag_t sc_dmat; - bus_space_tag_t sc_bust; - bus_space_tag_t sc_bustag; - struct iommu_state *sc_is; - bus_addr_t sc_ctrl; -}; - struct cfattach schizo_ca = { sizeof(struct schizo_softc), schizo_match, schizo_attach }; diff --git a/sys/arch/sparc64/dev/schizoreg.h b/sys/arch/sparc64/dev/schizoreg.h new file mode 100644 index 00000000000..726d0babd7f --- /dev/null +++ b/sys/arch/sparc64/dev/schizoreg.h @@ -0,0 +1,51 @@ +/* $OpenBSD: schizoreg.h,v 1.1 2002/06/08 23:31:30 jason Exp $ */ + +/* + * Copyright (c) 2002 Jason L. Wright (jason@thought.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Jason L. Wright + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#define SCZ_PCIA_MEM_MATCH 0x00040 +#define SCZ_PCIA_MEM_MASK 0x00048 +#define SCZ_PCIA_IO_MATCH 0x00050 +#define SCZ_PCIA_IO_MASK 0x00058 +#define SCZ_PCIB_MEM_MATCH 0x00060 +#define SCZ_PCIB_MEM_MASK 0x00068 +#define SCZ_PCIB_IO_MATCH 0x00070 +#define SCZ_PCIB_IO_MASK 0x00078 + +struct schizo_range { + u_int32_t cspace; + u_int32_t child_hi; + u_int32_t child_lo; + u_int32_t phys_hi; + u_int32_t phys_lo; + u_int32_t size_hi; + u_int32_t size_lo; +}; diff --git a/sys/arch/sparc64/dev/schizovar.h b/sys/arch/sparc64/dev/schizovar.h new file mode 100644 index 00000000000..30180758954 --- /dev/null +++ b/sys/arch/sparc64/dev/schizovar.h @@ -0,0 +1,62 @@ +/* $OpenBSD: schizovar.h,v 1.1 2002/06/08 23:31:30 jason Exp $ */ + +/* + * Copyright (c) 2002 Jason L. Wright (jason@thought.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Jason L. Wright + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +struct schizo_pbm { + struct schizo_softc *sp_sc; + + struct schizo_range *sp_range; + pci_chipset_tag_t sp_pc; + int sp_nreg; + int sp_nrange; + int sp_nintmap; + + bus_space_tag_t sp_memt; + bus_space_tag_t sp_iot; + bus_space_tag_t sp_cfgt; + bus_space_handle_t sp_cfgh; + bus_dma_tag_t sp_dmat; + int sp_bus; + int sp_flags; + int sp_bus_a; + bus_addr_t sp_confpaddr; +}; + +struct schizo_softc { + struct device sc_dv; + int sc_node; + bus_dma_tag_t sc_dmat; + bus_space_tag_t sc_bust; + bus_space_tag_t sc_bustag; + struct iommu_state *sc_is; + bus_addr_t sc_ctrl; +}; |