Annotation of sys/arch/macppc/pci/pcibrvar.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: pcibrvar.h,v 1.6 2003/06/09 16:10:04 deraadt Exp $ */
2:
3: /*
4: * Copyright (c) 1997 Per Fogelstrom
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code must retain the above copyright
10: * notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: *
15: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
16: * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18: * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
19: * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25: * SUCH DAMAGE.
26: *
27: */
28:
29: #include <dev/pci/pcireg.h>
30: #include <dev/pci/pcivar.h>
31: #include <dev/pci/pcidevs.h>
32:
33: struct pcibr_config {
34: bus_space_tag_t lc_memt;
35: bus_space_tag_t lc_iot;
36: bus_space_handle_t ioh_cf8;
37: bus_space_handle_t ioh_cfc;
38: struct ppc_pci_chipset lc_pc;
39: int config_type;
40: int bus;
41: int pci_init_done;
42: int node;
43: };
44:
45: struct pcibr_softc {
46: struct device sc_dev;
47: struct pcibr_config *sc_pcibr;
48: struct ppc_bus_space sc_membus_space;
49: struct ppc_bus_space sc_iobus_space;
50: struct powerpc_bus_dma_tag sc_dmatag;
51: struct pcibr_config pcibr_config;
52: struct extent *extent_mem;
53: struct extent *extent_port;
54: u_int32_t mem_alloc_start;
55: u_int32_t port_alloc_start;
56: int nbogus;
57: };
58:
59: struct pci_reserve_mem {
60: bus_addr_t start;
61: bus_size_t size;
62: char *name;
63: };
64:
65: void pci_addr_fixup(struct pcibr_softc *, pci_chipset_tag_t, int);
66:
67: #define PCIADDR_SEARCH_IO 0
68: #define PCIADDR_SEARCH_MEM 1
69:
70:
71: struct extent * pciaddr_search(int mem_port, struct device *,
72: bus_addr_t *startp, bus_size_t size);
CVSweb