summaryrefslogtreecommitdiff
path: root/sys/arch/powerpc/pci
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/powerpc/pci')
-rw-r--r--sys/arch/powerpc/pci/mpcpcibus.c18
-rw-r--r--sys/arch/powerpc/pci/pci_machdep.h10
-rw-r--r--sys/arch/powerpc/pci/pcibrvar.h5
3 files changed, 19 insertions, 14 deletions
diff --git a/sys/arch/powerpc/pci/mpcpcibus.c b/sys/arch/powerpc/pci/mpcpcibus.c
index 63683e3e385..6e263c607c7 100644
--- a/sys/arch/powerpc/pci/mpcpcibus.c
+++ b/sys/arch/powerpc/pci/mpcpcibus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpcpcibus.c,v 1.4 1998/04/06 20:23:21 pefo Exp $ */
+/* $OpenBSD: mpcpcibus.c,v 1.5 1998/08/06 15:04:00 pefo Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom
@@ -74,7 +74,7 @@ const char *mpc_intr_string __P((void *, pci_intr_handle_t));
void *mpc_intr_establish __P((void *, pci_intr_handle_t,
int, int (*func)(void *), void *, char *));
void mpc_intr_disestablish __P((void *, void *));
-int mpc_ether_hw_addr __P((u_int8_t *));
+int mpc_ether_hw_addr __P((u_int8_t *, u_int8_t, u_int8_t));
struct cfattach mpcpcibr_ca = {
sizeof(struct pcibr_softc), mpcpcibrmatch, mpcpcibrattach,
@@ -132,8 +132,10 @@ mpcpcibrattach(parent, self, aux)
case POWER4e:
lcp = sc->sc_pcibr = &mpc_config;
- sc->sc_bus_space.bus_base = MPC106_V_PCI_MEM_SPACE;
- sc->sc_bus_space.bus_reverse = 1;
+ sc->sc_membus_space.bus_base = MPC106_V_PCI_MEM_SPACE;
+ sc->sc_membus_space.bus_reverse = 1;
+ sc->sc_iobus_space.bus_base = MPC106_PCI_IO_SPACE;
+ sc->sc_iobus_space.bus_reverse = 1;
lcp->lc_pc.pc_conf_v = lcp;
lcp->lc_pc.pc_attach_hook = mpc_attach_hook;
@@ -157,8 +159,8 @@ mpcpcibrattach(parent, self, aux)
}
pba.pba_busname = "pci";
- pba.pba_iot = &sc->sc_bus_space;
- pba.pba_memt = &sc->sc_bus_space;
+ pba.pba_iot = &sc->sc_iobus_space;
+ pba.pba_memt = &sc->sc_membus_space;
pba.pba_pc = &lcp->lc_pc;
pba.pba_bus = 0;
config_found(self, &pba, mpcpcibrprint);
@@ -208,8 +210,8 @@ mpc_attach_hook(parent, self, pba)
}
int
-mpc_ether_hw_addr(p)
- u_int8_t *p;
+mpc_ether_hw_addr(p, b, s)
+ u_int8_t *p, b, s;
{
int i;
diff --git a/sys/arch/powerpc/pci/pci_machdep.h b/sys/arch/powerpc/pci/pci_machdep.h
index 73cde72ba95..ea5c88e5dfa 100644
--- a/sys/arch/powerpc/pci/pci_machdep.h
+++ b/sys/arch/powerpc/pci/pci_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.h,v 1.3 1998/04/06 20:24:22 pefo Exp $ */
+/* $OpenBSD: pci_machdep.h,v 1.4 1998/08/06 15:04:01 pefo Exp $ */
/*
* Copyright (c) 1996 Carnegie-Mellon University.
@@ -60,9 +60,11 @@ struct p4e_pci_chipset {
void *(*pc_intr_establish) __P((void *, pci_intr_handle_t,
int, int (*)(void *), void *, char *));
void (*pc_intr_disestablish) __P((void *, void *));
- int (*pc_ether_hw_addr) __P((u_int8_t *));
+ int (*pc_ether_hw_addr) __P((u_int8_t *, u_int8_t, u_int8_t));
};
+#define NEED_PCI_ETHER_HW_ADDR_FUNC /* srom less pci ether adapter */
+
/*
* Functions provided to machine-independent PCI code.
*/
@@ -86,8 +88,8 @@ struct p4e_pci_chipset {
(*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a), (nm))
#define pci_intr_disestablish(c, iv) \
(*(c)->pc_intr_disestablish)((c)->pc_intr_v, (iv))
-#define pci_ether_hw_addr(c, p) \
- (*(c)->pc_ether_hw_addr)((p))
+#define pci_ether_hw_addr(c, p, b, s) \
+ (*(c)->pc_ether_hw_addr)((p), (b), (s))
vm_offset_t vtophys __P((void *));
diff --git a/sys/arch/powerpc/pci/pcibrvar.h b/sys/arch/powerpc/pci/pcibrvar.h
index ab0506094fd..a5533a98de6 100644
--- a/sys/arch/powerpc/pci/pcibrvar.h
+++ b/sys/arch/powerpc/pci/pcibrvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcibrvar.h,v 1.1 1997/10/11 11:29:32 pefo Exp $ */
+/* $OpenBSD: pcibrvar.h,v 1.2 1998/08/06 15:04:03 pefo Exp $ */
/*
* Copyright (c) 1997 Per Fogelstrom
@@ -42,7 +42,8 @@ struct pcibr_config {
struct pcibr_softc {
struct device sc_dev;
struct pcibr_config *sc_pcibr;
- struct p4e_bus_space sc_bus_space; /* Same for I/O and Mem */
+ struct p4e_bus_space sc_membus_space;
+ struct p4e_bus_space sc_iobus_space;
};