summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/ahc_pci.c51
-rw-r--r--sys/dev/pci/cy_pci.c44
-rw-r--r--sys/dev/pci/files.pci43
-rw-r--r--sys/dev/pci/if_de.c86
-rw-r--r--sys/dev/pci/if_ep_pci.c45
-rw-r--r--sys/dev/pci/if_fpa.c39
-rw-r--r--sys/dev/pci/if_le_pci.c37
-rw-r--r--sys/dev/pci/if_levar.h6
-rw-r--r--sys/dev/pci/ncr.c88
-rw-r--r--sys/dev/pci/pci.c24
-rw-r--r--sys/dev/pci/pci_subr.c4
-rw-r--r--sys/dev/pci/pcidevs229
-rw-r--r--sys/dev/pci/pcidevs.h219
-rw-r--r--sys/dev/pci/pcidevs_data.h604
-rw-r--r--sys/dev/pci/pcireg.h10
-rw-r--r--sys/dev/pci/pcivar.h22
-rw-r--r--sys/dev/pci/ppb.c7
17 files changed, 1172 insertions, 386 deletions
diff --git a/sys/dev/pci/ahc_pci.c b/sys/dev/pci/ahc_pci.c
index b14533456c1..dedcac774a7 100644
--- a/sys/dev/pci/ahc_pci.c
+++ b/sys/dev/pci/ahc_pci.c
@@ -1,3 +1,6 @@
+/* $OpenBSD: ahc_pci.c,v 1.6 1996/11/28 23:28:01 niklas Exp $ */
+/* $NetBSD: ahc_pci.c,v 1.9 1996/10/21 22:56:24 thorpej Exp $ */
+
/*
* Product specific probe and attach routines for:
* 3940, 2940, aic7880, aic7870, aic7860 and aic7850 SCSI controllers
@@ -28,8 +31,6 @@
* 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.
- *
- * $Id: ahc_pci.c,v 1.5 1996/11/12 20:30:48 niklas Exp $
*/
#if defined(__FreeBSD__)
@@ -43,7 +44,7 @@
#include <sys/queue.h>
#if defined(__NetBSD__) || defined(__OpenBSD__)
#include <sys/device.h>
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <machine/intr.h>
#endif /* defined(__NetBSD__) */
@@ -73,7 +74,16 @@
#include <dev/ic/aic7xxxvar.h>
#include <dev/ic/smc93cx6var.h>
+/*
+ * Under normal circumstances, these messages are unnecessary
+ * and not terribly cosmetic.
+ */
+#ifdef DEBUG
#define bootverbose 1
+#else
+#define bootverbose 0
+#endif
+
#define PCI_BASEADR0 PCI_MAPREG_START
#endif /* defined(__NetBSD__) */
@@ -81,6 +91,7 @@
#define PCI_DEVICE_ID_ADAPTEC_3940U 0x82789004ul
#define PCI_DEVICE_ID_ADAPTEC_2944U 0x84789004ul
#define PCI_DEVICE_ID_ADAPTEC_2940U 0x81789004ul
+#define PCI_DEVICE_ID_ADAPTEC_2940AU 0x61789004ul
#define PCI_DEVICE_ID_ADAPTEC_3940 0x72789004ul
#define PCI_DEVICE_ID_ADAPTEC_2944 0x74789004ul
#define PCI_DEVICE_ID_ADAPTEC_2940 0x71789004ul
@@ -216,6 +227,9 @@ aic7870_probe (pcici_t tag, pcidi_t type)
case PCI_DEVICE_ID_ADAPTEC_2940:
return ("Adaptec 2940 SCSI host adapter");
break;
+ case PCI_DEVICE_ID_ADAPTEC_2940AU:
+ return ("Adaptec 2940A Ultra SCSI host adapter");
+ break;
case PCI_DEVICE_ID_ADAPTEC_AIC7880:
return ("Adaptec aic7880 Ultra SCSI host adapter");
break;
@@ -258,6 +272,7 @@ ahc_pci_probe(parent, match, aux)
case PCI_DEVICE_ID_ADAPTEC_3940U:
case PCI_DEVICE_ID_ADAPTEC_2944U:
case PCI_DEVICE_ID_ADAPTEC_2940U:
+ case PCI_DEVICE_ID_ADAPTEC_2940AU:
case PCI_DEVICE_ID_ADAPTEC_3940:
case PCI_DEVICE_ID_ADAPTEC_2944:
case PCI_DEVICE_ID_ADAPTEC_2940:
@@ -286,12 +301,13 @@ ahc_pci_attach(parent, self, aux)
{
#if defined(__FreeBSD__)
u_long io_port;
+ int unit = ahc->sc_dev.dv_unit;
#elif defined(__NetBSD__) || defined(__OpenBSD__)
struct pci_attach_args *pa = aux;
struct ahc_data *ahc = (void *)self;
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
- bus_io_handle_t ioh;
+ bus_addr_t iobase;
+ bus_size_t iosize;
+ bus_space_handle_t ioh;
pci_intr_handle_t ih;
const char *intrstr;
#endif
@@ -316,7 +332,7 @@ ahc_pci_attach(parent, self, aux)
#elif defined(__NetBSD__) || defined(__OpenBSD__)
if (pci_io_find(pa->pa_pc, pa->pa_tag, PCI_BASEADR0, &iobase, &iosize))
return;
- if (bus_io_map(pa->pa_bc, iobase, iosize, &ioh))
+ if (bus_space_map(pa->pa_iot, iobase, iosize, 0, &ioh))
return;
#endif
@@ -344,6 +360,9 @@ ahc_pci_attach(parent, self, aux)
case PCI_DEVICE_ID_ADAPTEC_2940:
ahc_t = AHC_294;
break;
+ case PCI_DEVICE_ID_ADAPTEC_2940AU:
+ ahc_t = AHC_294AU;
+ break;
case PCI_DEVICE_ID_ADAPTEC_AIC7880:
ahc_t = AHC_AIC7880;
break;
@@ -370,16 +389,17 @@ ahc_pci_attach(parent, self, aux)
if(ahc_t & AHC_ULTRA)
ultra_enb = inb(SXFRCTL0 + io_port) & ULTRAEN;
#else
- our_id = bus_io_read_1(pa->pa_bc, ioh, SCSIID) & OID;
+ our_id = bus_space_read_1(pa->pa_iot, ioh, SCSIID) & OID;
if(ahc_t & AHC_ULTRA)
- ultra_enb = bus_io_read_1(pa->pa_bc, ioh, SXFRCTL0) & ULTRAEN;
+ ultra_enb = bus_space_read_1(pa->pa_iot, ioh, SXFRCTL0) &
+ ULTRAEN;
#endif
#if defined(__FreeBSD__)
ahc_reset(io_port);
#elif defined(__NetBSD__) || defined(__OpenBSD__)
printf("\n");
- ahc_reset(ahc->sc_dev.dv_xname, pa->pa_bc, ioh);
+ ahc_reset(ahc->sc_dev.dv_xname, pa->pa_iot, ioh);
#endif
if(ahc_t & AHC_AIC7870){
@@ -429,7 +449,7 @@ ahc_pci_attach(parent, self, aux)
return;
}
#elif defined(__NetBSD__) || defined(__OpenBSD__)
- ahc_construct(ahc, pa->pa_bc, ioh, ahc_t, ahc_f);
+ ahc_construct(ahc, pa->pa_iot, ioh, ahc_t, ahc_f);
if (pci_intr_map(pa->pa_pc, pa->pa_intrtag, pa->pa_intrpin,
pa->pa_intrline, &ih)) {
@@ -486,14 +506,11 @@ ahc_pci_attach(parent, self, aux)
load_seeprom(ahc);
break;
}
+ case AHC_294AU:
case AHC_AIC7860:
{
id_string = "aic7860 ";
- /*
- * Use defaults, if the chip wasn't initialized by
- * a BIOS.
- */
- ahc->flags |= AHC_USEDEFAULTS;
+ load_seeprom(ahc);
break;
}
case AHC_AIC7850:
@@ -602,7 +619,7 @@ load_seeprom(ahc)
#if defined(__FreeBSD__)
sd.sd_iobase = ahc->baseport + SEECTL;
#elif defined(__NetBSD__) || defined(__OpenBSD__)
- sd.sd_bc = ahc->sc_bc;
+ sd.sd_iot = ahc->sc_iot;
sd.sd_ioh = ahc->sc_ioh;
sd.sd_offset = SEECTL;
#endif
diff --git a/sys/dev/pci/cy_pci.c b/sys/dev/pci/cy_pci.c
index ff5d6280cac..6bc7c71a6ee 100644
--- a/sys/dev/pci/cy_pci.c
+++ b/sys/dev/pci/cy_pci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cy_pci.c,v 1.2 1996/11/12 20:30:49 niklas Exp $ */
+/* $OpenBSD: cy_pci.c,v 1.3 1996/11/28 23:28:02 niklas Exp $ */
/*
* cy.c
@@ -41,7 +41,7 @@
#include <sys/device.h>
#include <sys/malloc.h>
#include <sys/systm.h>
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcidevs.h>
@@ -55,8 +55,8 @@
#define ISSET(t, f) ((t) & (f))
int cy_probe_pci __P((struct device *, void *, void *));
-int cy_probe_common __P((int card, bus_chipset_tag_t,
- bus_mem_handle_t, int bustype));
+int cy_probe_common __P((int card, bus_space_tag_t,
+ bus_space_handle_t, int bustype));
void cyattach __P((struct device *, struct device *, void *));
@@ -75,13 +75,14 @@ cy_probe_pci(parent, match, aux)
vm_offset_t v_addr, p_addr;
int card = ((struct device *)match)->dv_unit;
struct pci_attach_args *pa = aux;
- bus_chipset_tag_t bc;
- bus_mem_handle_t memh;
- bus_mem_addr_t memaddr;
- bus_mem_size_t memsize;
- bus_io_handle_t ioh;
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
+ bus_space_tag_t memt;
+ bus_space_handle_t memh;
+ bus_addr_t memaddr;
+ bus_size_t memsize;
+ bus_space_tag_t iot;
+ bus_space_handle_t ioh;
+ bus_addr_t iobase;
+ bus_size_t iosize;
int cacheable;
if(!(PCI_VENDOR(pa->pa_id) == PCI_VENDOR_CYCLADES &&
@@ -93,7 +94,8 @@ cy_probe_pci(parent, match, aux)
printf("cy: Found Cyclades PCI device, id = 0x%x\n", pa->pa_id);
#endif
- bc = pa->pa_bc;
+ memt = pa->pa_memt;
+ iot = pa->pa_iot;
if(pci_mem_find(pa->pa_pc, pa->pa_tag, 0x18,
&memaddr, &memsize, &cacheable) != 0) {
@@ -102,20 +104,20 @@ cy_probe_pci(parent, match, aux)
}
/* map the memory (non-cacheable) */
- if(bus_mem_map(bc, memaddr, memsize, 0, &memh) != 0) {
+ if(bus_space_map(memt, memaddr, memsize, 0, &memh) != 0) {
printf("cy%d: couldn't map PCI memory region\n", card);
return 0;
}
/* the PCI Cyclom IO space is only used for enabling interrupts */
if(pci_io_find(pa->pa_pc, pa->pa_tag, 0x14, &iobase, &iosize) != 0) {
- bus_mem_unmap(bc, memh, memsize);
+ bus_space_unmap(memt, memh, memsize);
printf("cy%d: couldn't find PCI io region\n", card);
return 0;
}
- if(bus_io_map(bc, iobase, iosize, &ioh) != 0) {
- bus_mem_unmap(bc, memh, memsize);
+ if(bus_space_map(iot, iobase, iosize, &ioh) != 0) {
+ bus_space_unmap(memt, memh, memsize);
printf("cy%d: couldn't map PCI io region\n", card);
return 0;
}
@@ -125,16 +127,16 @@ cy_probe_pci(parent, match, aux)
card, memaddr, memsize, iobase, iosize);
#endif
- if(cy_probe_common(card, bc, memh, CY_BUSTYPE_PCI) == 0) {
- bus_mem_unmap(bc, memh, memsize);
- bus_io_unmap(bc, ioh, iosize);
+ if(cy_probe_common(card, memt, memh, CY_BUSTYPE_PCI) == 0) {
+ bus_space_unmap(memt, memh, memsize);
+ bus_space_unmap(iot, ioh, iosize);
printf("cy%d: PCI Cyclom card with no CD1400s!?\n", card);
return 0;
}
/* Enable PCI card interrupts */
- bus_io_write_2(bc, ioh, CY_PCI_INTENA,
- bus_io_read_2(bc, ioh, CY_PCI_INTENA) | 0x900);
+ bus_space_write_2(iot, ioh, CY_PCI_INTENA,
+ bus_space_read_2(iot, ioh, CY_PCI_INTENA) | 0x900);
return 1;
}
diff --git a/sys/dev/pci/files.pci b/sys/dev/pci/files.pci
index 89656fd2c19..6341a2dec23 100644
--- a/sys/dev/pci/files.pci
+++ b/sys/dev/pci/files.pci
@@ -1,5 +1,5 @@
-# $OpenBSD: files.pci,v 1.9 1996/07/27 07:20:07 deraadt Exp $
-# $NetBSD: files.pci,v 1.16 1996/05/16 03:44:16 mycroft Exp $
+# $OpenBSD: files.pci,v 1.10 1996/11/28 23:28:03 niklas Exp $
+# $NetBSD: files.pci,v 1.20 1996/09/24 17:47:15 christos Exp $
#
# Config.new file and device description for machine-independent PCI code.
# Included by ports that need it. Requires that the SCSI files be
@@ -16,16 +16,37 @@ attach ahc at pci with ahc_pci
file dev/pci/ahc_pci.c ahc_pci
file dev/ic/smc93cx6.c ahc_pci
+# BusLogic BT-9xx PCI family
+# device declaration in sys/dev/isa/files.isa
+attach bha at pci with bha_pci
+file dev/pci/bha_pci.c bha_pci
+
# Ethernet driver for DC21040-based boards
device de: ether, ifnet
attach de at pci
file dev/pci/if_de.c de
+# ENI ATM driver
+device en: atm, ifnet
+attach en at pci with en_pci
+file dev/pci/if_en_pci.c en
+file dev/ic/midway.c en
+
+# 3Com 3c590 and 3c595 Ethernet controllers
+# device declaration in sys/conf/files
+attach ep at pci with ep_pci
+file dev/pci/if_ep_pci.c ep_pci
+
# Digital DEFPA PCI FDDI Controller
device fpa: pdq, fddi, ifnet
attach fpa at pci
file dev/pci/if_fpa.c fpa
+# AMD am7990 (LANCE) -based Ethernet controllers
+# device declaration in sys/conf/files
+attach le at pci with le_pci
+file dev/pci/if_le_pci.c le_pci
+
# NCR 53c8xx SCSI chips
device ncr: scsi
attach ncr at pci
@@ -36,22 +57,6 @@ device ppb: pcibus
attach ppb at pci
file dev/pci/ppb.c ppb
-# 3Com 3c590 and 3c595 Ethernet controllers
-# device declaration in sys/conf/files
-attach ep at pci with ep_pci
-file dev/pci/if_ep_pci.c ep_pci
-
-# AMD am7990 (LANCE) -based Ethernet controllers
-# device declaration in sys/conf/files
-attach le at pci with le_pci
-file dev/pci/if_le_pci.c le_pci
-
-# ENI ATM driver
-device en: atm, ifnet
-attach en at pci with en_pci
-file dev/pci/if_en_pci.c en
-file dev/ic/midway.c en
-
-# Cyclades Cyclom multiport serial cards
+# Cyclades Cyclom-8/16/32
attach cy at pci with cy_pci
file dev/pci/cy_pci.c cy_pci
diff --git a/sys/dev/pci/if_de.c b/sys/dev/pci/if_de.c
index 303c70fd7b9..63bb90b6ac4 100644
--- a/sys/dev/pci/if_de.c
+++ b/sys/dev/pci/if_de.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: if_de.c,v 1.14 1996/11/12 20:30:51 niklas Exp $ */
-/* $NetBSD: if_de.c,v 1.22.4.1 1996/06/03 20:32:07 cgd Exp $ */
+/* $OpenBSD: if_de.c,v 1.15 1996/11/28 23:28:04 niklas Exp $ */
+/* $NetBSD: if_de.c,v 1.29 1996/10/25 21:33:30 cgd Exp $ */
/*-
* Copyright (c) 1994, 1995 Matt Thomas (matt@lkg.dec.com)
@@ -103,7 +103,7 @@
#endif /* __bsdi__ */
#if defined(__NetBSD__) || defined(__OpenBSD__)
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <machine/intr.h>
#include <dev/pci/pcireg.h>
@@ -134,6 +134,25 @@ typedef struct {
int ri_free;
} tulip_ringinfo_t;
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+/*
+ * These macros are the same for NetBSD regardless of TULIP_IOMAPPED.
+ */
+typedef bus_size_t tulip_csrptr_t;
+
+#define TULIP_READ_CSR(sc, csr) \
+ bus_space_read_4((sc)->tulip_bst, (sc)->tulip_bsh, (sc)->tulip_csrs.csr)
+#define TULIP_WRITE_CSR(sc, csr, val) \
+ bus_space_write_4((sc)->tulip_bst, (sc)->tulip_bsh, (sc)->tulip_csrs.csr, \
+ (val))
+
+#define TULIP_READ_CSRBYTE(sc, csr) \
+ bus_space_read_1((sc)->tulip_bst, (sc)->tulip_bsh, (sc)->tulip_csrs.csr)
+#define TULIP_WRITE_CSRBYTE(sc, csr, val) \
+ bus_space_write_1((sc)->tulip_bst, (sc)->tulip_bsh, (sc)->tulip_csrs.csr, \
+ (val))
+#endif /* __NetBSD__ */
+
#ifdef TULIP_IOMAPPED
#define TULIP_EISA_CSRSIZE 16
@@ -147,19 +166,7 @@ typedef tulip_uint16_t tulip_csrptr_t;
#define TULIP_READ_CSRBYTE(sc, csr) (inb((sc)->tulip_csrs.csr))
#define TULIP_WRITE_CSRBYTE(sc, csr, val) outb((sc)->tulip_csrs.csr, val)
-#else
-typedef bus_io_size_t tulip_csrptr_t;
-
-#define TULIP_READ_CSR(sc, csr) \
- bus_io_read_4((sc)->tulip_bc, (sc)->tulip_ioh, (sc)->tulip_csrs.csr)
-#define TULIP_WRITE_CSR(sc, csr, val) \
- bus_io_write_4((sc)->tulip_bc, (sc)->tulip_ioh, (sc)->tulip_csrs.csr, (val))
-
-#define TULIP_READ_CSRBYTE(sc, csr) \
- bus_io_read_1((sc)->tulip_bc, (sc)->tulip_ioh, (sc)->tulip_csrs.csr)
-#define TULIP_WRITE_CSRBYTE(sc, csr, val) \
- bus_io_write_1((sc)->tulip_bc, (sc)->tulip_ioh, (sc)->tulip_csrs.csr, (val))
-#endif
+#endif /* ! __NetBSD__ */
#else /* TULIP_IOMAPPED */
@@ -176,15 +183,8 @@ typedef volatile tulip_uint32_t *tulip_csrptr_t;
#define TULIP_READ_CSR(sc, csr) (0 + *(sc)->tulip_csrs.csr)
#define TULIP_WRITE_CSR(sc, csr, val) \
((void)(*(sc)->tulip_csrs.csr = (val)))
-#else
-typedef bus_mem_size_t tulip_csrptr_t;
+#endif /* ! __NetBSD__ */
-#define TULIP_READ_CSR(sc, csr) \
- bus_mem_read_4((sc)->tulip_bc, (sc)->tulip_memh, (sc)->tulip_csrs.csr)
-#define TULIP_WRITE_CSR(sc, csr, val) \
- bus_mem_write_4((sc)->tulip_bc, (sc)->tulip_memh, (sc)->tulip_csrs.csr, \
- (val))
-#endif
#endif /* TULIP_IOMAPPED */
typedef struct {
@@ -308,13 +308,9 @@ struct _tulip_softc_t {
struct device tulip_dev; /* base device */
void *tulip_ih; /* intrrupt vectoring */
void *tulip_ats; /* shutdown hook */
- bus_chipset_tag_t tulip_bc;
- pci_chipset_tag_t tulip_pc;
-#ifdef TULIP_IOMAPPED
- bus_io_handle_t tulip_ioh; /* I/O region handle */
-#else
- bus_io_handle_t tulip_memh; /* memory region handle */
-#endif
+ pci_chipset_tag_t tulip_pc; /* PCI chipset cookie */
+ bus_space_tag_t tulip_bst; /* bus space tag */
+ bus_space_handle_t tulip_bsh; /* bus space handle */
#endif
char tulip_xname[IFNAMSIZ]; /* name + unit number */
struct arpcom tulip_ac;
@@ -420,9 +416,10 @@ static void tulip_addr_filter(tulip_softc_t *sc);
#if (defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__alpha__)
/* XXX XXX NEED REAL DMA MAPPING SUPPORT XXX XXX */
-#define vtophys(va) __alpha_bus_XXX_dmamap(sc->tulip_bc, (void *)(va))
-
+#undef vtophys
+#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)(va))
#endif
+
static int
tulip_dc21040_media_probe(
@@ -2417,15 +2414,9 @@ tulip_pci_attach(
#if defined(__NetBSD__) || defined(__OpenBSD__)
tulip_softc_t * const sc = (tulip_softc_t *) self;
struct pci_attach_args * const pa = (struct pci_attach_args *) aux;
- bus_chipset_tag_t bc = pa->pa_bc;
pci_chipset_tag_t pc = pa->pa_pc;
-#if defined(TULIP_IOMAPPED)
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
-#else
- bus_mem_addr_t membase;
- bus_mem_size_t memsize;
-#endif
+ bus_addr_t tulipbase;
+ bus_size_t tulipsize;
#if defined(__FreeBSD__)
int unit = sc->tulip_dev.dv_unit;
#endif
@@ -2558,17 +2549,20 @@ tulip_pci_attach(
#endif /* __bsdi__ */
#if defined(__NetBSD__) || defined(__OpenBSD__)
- sc->tulip_bc = bc;
sc->tulip_pc = pc;
#if defined(TULIP_IOMAPPED)
- retval = pci_io_find(pc, pa->pa_tag, PCI_CBIO, &iobase, &iosize);
+ sc->tulip_bst = pa->pa_iot;
+ retval = pci_io_find(pc, pa->pa_tag, PCI_CBIO, &tulipbase, &tulipsize);
if (!retval)
- retval = bus_io_map(bc, iobase, iosize, &sc->tulip_ioh);
+ retval = bus_space_map(pa->pa_iot, tulipbase, tulipsize, 0,
+ &sc->tulip_bsh);
#else
- retval = pci_mem_find(pc, pa->pa_tag, PCI_CBMA, &membase, &memsize,
+ sc->tulip_bst = pa->pa_memt;
+ retval = pci_mem_find(pc, pa->pa_tag, PCI_CBMA, &tulipbase, &tulipsize,
NULL);
if (!retval)
- retval = bus_mem_map(bc, membase, memsize, 0, &sc->tulip_memh);
+ retval = bus_space_map(pa->pa_memt, tulipbase, tulipsize, 0,
+ &sc->tulip_bsh);
#endif
csr_base = 0;
if (retval) {
diff --git a/sys/dev/pci/if_ep_pci.c b/sys/dev/pci/if_ep_pci.c
index 15bee326225..6a205592233 100644
--- a/sys/dev/pci/if_ep_pci.c
+++ b/sys/dev/pci/if_ep_pci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ep_pci.c,v 1.7 1996/05/13 00:03:15 mycroft Exp $ */
+/* $NetBSD: if_ep_pci.c,v 1.13 1996/10/21 22:56:38 thorpej Exp $ */
/*
* Copyright (c) 1994 Herb Peyerl <hpeyerl@beer.org>
@@ -60,7 +60,7 @@
#endif
#include <machine/cpu.h>
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <machine/intr.h>
#include <dev/ic/elink3var.h>
@@ -96,13 +96,13 @@ ep_pci_match(parent, match, aux)
switch (PCI_PRODUCT(pa->pa_id)) {
case PCI_PRODUCT_3COM_3C590:
- case PCI_PRODUCT_3COM_3C595:
- case PCI_PRODUCT_3COM_3C595T:
- case PCI_PRODUCT_3COM_3C595TM:
- case PCI_PRODUCT_3COM_3C900:
- case PCI_PRODUCT_3COM_3C900T:
- case PCI_PRODUCT_3COM_3C905:
- case PCI_PRODUCT_3COM_3C905T:
+ case PCI_PRODUCT_3COM_3C595MII:
+ case PCI_PRODUCT_3COM_3C595T4:
+ case PCI_PRODUCT_3COM_3C595TX:
+ case PCI_PRODUCT_3COM_3C900COMBO:
+ case PCI_PRODUCT_3COM_3C900TPO:
+ case PCI_PRODUCT_3COM_3C905T4:
+ case PCI_PRODUCT_3COM_3C905TX:
break;
default:
return 0;
@@ -119,9 +119,9 @@ ep_pci_attach(parent, self, aux)
struct ep_softc *sc = (void *)self;
struct pci_attach_args *pa = aux;
pci_chipset_tag_t pc = pa->pa_pc;
- bus_chipset_tag_t bc = pa->pa_bc;
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
+ bus_space_tag_t iot = pa->pa_iot;
+ bus_addr_t iobase;
+ bus_size_t iosize;
pci_intr_handle_t ih;
u_short conn = 0;
pcireg_t i;
@@ -133,12 +133,12 @@ ep_pci_attach(parent, self, aux)
return;
}
- if (bus_io_map(bc, iobase, iosize, &sc->sc_ioh)) {
+ if (bus_space_map(iot, iobase, iosize, 0, &sc->sc_ioh)) {
printf(": can't map i/o space\n");
return;
}
- sc->sc_bc = bc;
+ sc->sc_iot = iot;
sc->bustype = EP_BUS_PCI;
i = pci_conf_read(pc, pa->pa_tag, PCI_CONN);
@@ -160,21 +160,22 @@ ep_pci_attach(parent, self, aux)
case PCI_PRODUCT_3COM_3C590:
model = "3Com 3C590 Ethernet";
break;
- case PCI_PRODUCT_3COM_3C595:
- case PCI_PRODUCT_3COM_3C595T:
- case PCI_PRODUCT_3COM_3C595TM:
+ case PCI_PRODUCT_3COM_3C595MII:
+ case PCI_PRODUCT_3COM_3C595T4:
+ case PCI_PRODUCT_3COM_3C595TX:
model = "3Com 3C595 Ethernet";
break;
- case PCI_PRODUCT_3COM_3C900:
- case PCI_PRODUCT_3COM_3C900T:
+ case PCI_PRODUCT_3COM_3C900COMBO:
+ case PCI_PRODUCT_3COM_3C900TPO:
model = "3Com 3C900 Ethernet";
break;
- case PCI_PRODUCT_3COM_3C905:
- case PCI_PRODUCT_3COM_3C905T:
+ case PCI_PRODUCT_3COM_3C905T4:
+ case PCI_PRODUCT_3COM_3C905TX:
model = "3Com 3C905 Ethernet";
break;
default:
model = "unknown model!";
+ break;
}
printf(": <%s> ", model);
@@ -204,6 +205,4 @@ ep_pci_attach(parent, self, aux)
return;
}
printf("%s: interrupting at %s\n", sc->sc_dev.dv_xname, intrstr);
-
- epstop(sc);
}
diff --git a/sys/dev/pci/if_fpa.c b/sys/dev/pci/if_fpa.c
index 8395fa49e0a..7a25710f1fb 100644
--- a/sys/dev/pci/if_fpa.c
+++ b/sys/dev/pci/if_fpa.c
@@ -1,4 +1,5 @@
-/* $NetBSD: if_fpa.c,v 1.11 1996/05/20 15:53:02 thorpej Exp $ */
+/* $OpenBSD: if_fpa.c,v 1.10 1996/11/28 23:28:06 niklas Exp $ */
+/* $NetBSD: if_fpa.c,v 1.15 1996/10/21 22:56:40 thorpej Exp $ */
/*-
* Copyright (c) 1995, 1996 Matt Thomas <matt@3am-software.com>
@@ -386,13 +387,9 @@ pdq_pci_attach(
pdq_uint32_t data;
pci_intr_handle_t intrhandle;
const char *intrstr;
-#ifdef PDQ_IOMAPPED
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
-#else
- bus_mem_addr_t membase;
- bus_mem_size_t memsize;
-#endif
+ bus_addr_t csrbase;
+ bus_size_t csrsize;
+ int cacheable = 0;
data = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_CFLT);
if ((data & 0xFF00) < (DEFPA_LATENCY << 8)) {
@@ -401,26 +398,36 @@ pdq_pci_attach(
pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_CFLT, data);
}
- sc->sc_bc = pa->pa_bc;
bcopy(sc->sc_dev.dv_xname, sc->sc_if.if_xname, IFNAMSIZ);
sc->sc_if.if_flags = 0;
sc->sc_if.if_softc = sc;
+ /*
+ * NOTE: sc_bc is an alias for sc_csrtag and sc_membase is an
+ * alias for sc_csrhandle. sc_iobase is not used in this front-end.
+ */
#ifdef PDQ_IOMAPPED
- if (pci_io_find(pa->pa_pc, pa->pa_tag, PCI_CBIO, &iobase, &iosize)
- || bus_io_map(pa->pa_bc, iobase, iosize, &sc->sc_iobase)){
- printf("\n%s: can't map I/O space!\n", sc->sc_dev.dv_xname);
+ sc->sc_csrtag = pa->pa_iot;
+ if (pci_io_find(pa->pa_pc, pa->pa_tag, PCI_CBIO, &csrbase, &csrsize)) {
+ printf("\n%s: can't find I/O space!\n", sc->sc_dev.dv_xname);
return;
}
#else
- if (pci_mem_find(pa->pa_pc, pa->pa_tag, PCI_CBMA, &membase, &memsize, NULL)
- || bus_mem_map(pa->pa_bc, membase, memsize, 0, &sc->sc_membase)) {
- printf("\n%s: can't map memory space!\n", sc->sc_dev.dv_xname);
+ sc->sc_csrtag = pa->pa_memt;
+ if (pci_mem_find(pa->pa_pc, pa->pa_tag, PCI_CBMA, &csrbase, &csrsize,
+ &cacheable)) {
+ printf("\n%s: can't find memory space!\n", sc->sc_dev.dv_xname);
return;
}
#endif
- sc->sc_pdq = pdq_initialize(sc->sc_bc, sc->sc_membase,
+ if (bus_space_map(sc->sc_csrtag, csrbase, csrsize, cacheable,
+ &sc->sc_csrhandle)) {
+ printf("\n%s: can't map CSRs!\n", sc->sc_dev.dv_xname);
+ return;
+ }
+
+ sc->sc_pdq = pdq_initialize(sc->sc_csrtag, sc->sc_csrhandle,
sc->sc_if.if_xname, 0,
(void *) sc, PDQ_DEFPA);
if (sc->sc_pdq == NULL) {
diff --git a/sys/dev/pci/if_le_pci.c b/sys/dev/pci/if_le_pci.c
index d7157bba3ff..bd59f08d385 100644
--- a/sys/dev/pci/if_le_pci.c
+++ b/sys/dev/pci/if_le_pci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le_pci.c,v 1.6.4.1 1996/06/03 20:32:13 cgd Exp $ */
+/* $NetBSD: if_le_pci.c,v 1.13 1996/10/25 21:33:32 cgd Exp $ */
/*-
* Copyright (c) 1995 Charles M. Hannum. All rights reserved.
@@ -62,7 +62,7 @@
#include <vm/vm.h>
#include <machine/cpu.h>
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <machine/intr.h>
#include <dev/pci/pcireg.h>
@@ -76,7 +76,8 @@
#ifdef __alpha__ /* XXX */
/* XXX XXX NEED REAL DMA MAPPING SUPPORT XXX XXX */
-#define vtophys(va) __alpha_bus_XXX_dmamap(lesc->sc_bc, (void *)(va))
+#undef vtophys
+#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)(va))
#endif
int le_pci_match __P((struct device *, void *, void *));
@@ -101,11 +102,11 @@ le_pci_wrcsr(sc, port, val)
u_int16_t port, val;
{
struct le_softc *lesc = (struct le_softc *)sc;
- bus_chipset_tag_t bc = lesc->sc_bc;
- bus_io_handle_t ioh = lesc->sc_ioh;
+ bus_space_tag_t iot = lesc->sc_iot;
+ bus_space_handle_t ioh = lesc->sc_ioh;
- bus_io_write_2(bc, ioh, lesc->sc_rap, port);
- bus_io_write_2(bc, ioh, lesc->sc_rdp, val);
+ bus_space_write_2(iot, ioh, lesc->sc_rap, port);
+ bus_space_write_2(iot, ioh, lesc->sc_rdp, val);
}
hide u_int16_t
@@ -114,12 +115,12 @@ le_pci_rdcsr(sc, port)
u_int16_t port;
{
struct le_softc *lesc = (struct le_softc *)sc;
- bus_chipset_tag_t bc = lesc->sc_bc;
- bus_io_handle_t ioh = lesc->sc_ioh;
+ bus_space_tag_t iot = lesc->sc_iot;
+ bus_space_handle_t ioh = lesc->sc_ioh;
u_int16_t val;
- bus_io_write_2(bc, ioh, lesc->sc_rap, port);
- val = bus_io_read_2(bc, ioh, lesc->sc_rdp);
+ bus_space_write_2(iot, ioh, lesc->sc_rap, port);
+ val = bus_space_read_2(iot, ioh, lesc->sc_rdp);
return (val);
}
@@ -150,10 +151,10 @@ le_pci_attach(parent, self, aux)
struct am7990_softc *sc = &lesc->sc_am7990;
struct pci_attach_args *pa = aux;
pci_intr_handle_t ih;
- bus_io_addr_t iobase;
- bus_io_size_t iosize;
- bus_io_handle_t ioh;
- bus_chipset_tag_t bc = pa->pa_bc;
+ bus_addr_t iobase;
+ bus_size_t iosize;
+ bus_space_handle_t ioh;
+ bus_space_tag_t iot = pa->pa_iot;
pci_chipset_tag_t pc = pa->pa_pc;
pcireg_t csr;
int i;
@@ -176,7 +177,7 @@ le_pci_attach(parent, self, aux)
printf("%s: can't find I/O base\n", sc->sc_dev.dv_xname);
return;
}
- if (bus_io_map(bc, iobase, iosize, &ioh)) {
+ if (bus_space_map(iot, iobase, iosize, 0, &ioh)) {
printf("%s: can't map I/O space\n", sc->sc_dev.dv_xname);
return;
}
@@ -185,7 +186,7 @@ le_pci_attach(parent, self, aux)
* Extract the physical MAC address from the ROM.
*/
for (i = 0; i < sizeof(sc->sc_arpcom.ac_enaddr); i++)
- sc->sc_arpcom.ac_enaddr[i] = bus_io_read_1(bc, ioh, i);
+ sc->sc_arpcom.ac_enaddr[i] = bus_space_read_1(iot, ioh, i);
sc->sc_mem = malloc(16384, M_DEVBUF, M_NOWAIT);
if (sc->sc_mem == 0) {
@@ -194,7 +195,7 @@ le_pci_attach(parent, self, aux)
return;
}
- lesc->sc_bc = bc;
+ lesc->sc_iot = iot;
lesc->sc_ioh = ioh;
sc->sc_conf3 = 0;
diff --git a/sys/dev/pci/if_levar.h b/sys/dev/pci/if_levar.h
index 45045bd3e4b..d24222545d0 100644
--- a/sys/dev/pci/if_levar.h
+++ b/sys/dev/pci/if_levar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: if_levar.h,v 1.2 1996/05/12 02:30:05 thorpej Exp $ */
+/* $NetBSD: if_levar.h,v 1.3 1996/10/21 22:56:46 thorpej Exp $ */
/*
* LANCE Ethernet driver header file
@@ -27,7 +27,7 @@ struct le_softc {
struct am7990_softc sc_am7990; /* glue to MI code */
void *sc_ih;
- bus_chipset_tag_t sc_bc; /* chipset cookie */
- bus_io_handle_t sc_ioh; /* bus i/o handle */
+ bus_space_tag_t sc_iot; /* space cookie */
+ bus_space_handle_t sc_ioh; /* bus space handle */
int sc_rap, sc_rdp; /* offsets to LANCE registers */
};
diff --git a/sys/dev/pci/ncr.c b/sys/dev/pci/ncr.c
index f6043155c43..0760bd22da3 100644
--- a/sys/dev/pci/ncr.c
+++ b/sys/dev/pci/ncr.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ncr.c,v 1.19 1996/11/23 21:47:04 kstailey Exp $ */
-/* $NetBSD: ncr.c,v 1.35.4.1 1996/06/03 20:32:17 cgd Exp $ */
+/* $OpenBSD: ncr.c,v 1.20 1996/11/28 23:28:08 niklas Exp $ */
+/* $NetBSD: ncr.c,v 1.48 1996/10/25 21:33:33 cgd Exp $ */
/**************************************************************************
**
@@ -166,16 +166,11 @@
#if defined(__NetBSD__) || defined(__OpenBSD__)
#ifdef _KERNEL
#define KERNEL
-
-/*
- * Normally found in the userland header stddef.h, which isn't available.
- */
-#define offsetof(type, member) ((size_t)(&((type *)0)->member))
#endif
-#else
-#include <stddef.h>
#endif
+#define offsetof(type, member) ((size_t)(&((type *)0)->member))
+
#include <sys/types.h>
#include <sys/param.h>
#include <sys/time.h>
@@ -206,7 +201,7 @@
#include <pci/ncrreg.h>
#else
#include <sys/device.h>
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <machine/intr.h>
#include <dev/pci/ncr_reg.h>
#include <dev/pci/pcireg.h>
@@ -221,7 +216,8 @@
#if (defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__alpha__)
/* XXX XXX NEED REAL DMA MAPPING SUPPORT XXX XXX */
-#define vtophys(va) __alpha_bus_XXX_dmamap(np->sc_bc, (void *)(va))
+#undef vtophys
+#define vtophys(va) alpha_XXX_dmamap((vm_offset_t)(va))
#endif
/*==========================================================
@@ -270,6 +266,7 @@
**----------------------------------------------------------
*/
+#undef assert
#define assert(expression) { \
if (!(expression)) { \
(void)printf(\
@@ -293,44 +290,44 @@
#define INB(r) \
INB_OFF(offsetof(struct ncr_reg, r))
#define INB_OFF(o) \
- bus_io_read_1 (np->sc_bc, np->sc_ioh, (o))
+ bus_space_read_1 (np->sc_memt, np->sc_bah, (o))
#define INW(r) \
- bus_io_read_2 (np->sc_bc, np->sc_ioh, offsetof(struct ncr_reg, r))
+ bus_space_read_2 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r))
#define INL(r) \
INL_OFF(offsetof(struct ncr_reg, r))
#define INL_OFF(o) \
- bus_io_read_4 (np->sc_bc, np->sc_ioh, (o))
+ bus_space_read_4 (np->sc_memt, np->sc_bah, (o))
#define OUTB(r, val) \
- bus_io_write_1 (np->sc_bc, np->sc_ioh, offsetof(struct ncr_reg, r), (val))
+ bus_space_write_1 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r), (val))
#define OUTW(r, val) \
- bus_io_write_2 (np->sc_bc, np->sc_ioh, offsetof(struct ncr_reg, r), (val))
+ bus_space_write_2 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r), (val))
#define OUTL(r, val) \
OUTL_OFF(offsetof(struct ncr_reg, r), (val))
#define OUTL_OFF(o, val) \
- bus_io_write_4 (np->sc_bc, np->sc_ioh, (o), (val))
+ bus_space_write_4 (np->sc_memt, np->sc_bah, (o), (val))
#else
#define INB(r) \
INB_OFF(offsetof(struct ncr_reg, r))
#define INB_OFF(o) \
- bus_mem_read_1 (np->sc_bc, np->sc_memh, (o))
+ bus_space_read_1 (np->sc_memt, np->sc_bah, (o))
#define INW(r) \
- bus_mem_read_2 (np->sc_bc, np->sc_memh, offsetof(struct ncr_reg, r))
+ bus_space_read_2 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r))
#define INL(r) \
INL_OFF(offsetof(struct ncr_reg, r))
#define INL_OFF(o) \
- bus_mem_read_4 (np->sc_bc, np->sc_memh, (o))
+ bus_space_read_4 (np->sc_memt, np->sc_bah, (o))
#define OUTB(r, val) \
- bus_mem_write_1 (np->sc_bc, np->sc_memh, offsetof(struct ncr_reg, r), (val))
+ bus_space_write_1 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r), (val))
#define OUTW(r, val) \
- bus_mem_write_2 (np->sc_bc, np->sc_memh, offsetof(struct ncr_reg, r), (val))
+ bus_space_write_2 (np->sc_memt, np->sc_bah, offsetof(struct ncr_reg, r), (val))
#define OUTL(r, val) \
OUTL_OFF(offsetof(struct ncr_reg, r), (val))
#define OUTL_OFF(o, val) \
- bus_mem_write_4 (np->sc_bc, np->sc_memh, (o), (val))
+ bus_space_write_4 (np->sc_memt, np->sc_bah, (o), (val))
#endif
@@ -1006,13 +1003,9 @@ struct ncb {
#if defined(__NetBSD__) || defined(__OpenBSD__)
struct device sc_dev;
void *sc_ih;
- bus_chipset_tag_t sc_bc;
+ bus_space_tag_t sc_memt;
pci_chipset_tag_t sc_pc;
-#ifdef NCR_IOMAPPED
- bus_io_handle_t sc_ioh;
-#else /* !NCR_IOMAPPED */
- bus_mem_handle_t sc_memh;
-#endif /* NCR_IOMAPPED */
+ bus_space_handle_t sc_bah;
#else /* !__NetBSD__ */
int unit;
#endif /* __NetBSD__ */
@@ -1042,7 +1035,7 @@ struct ncb {
vm_offset_t vaddr;
vm_offset_t paddr;
#else
- bus_mem_addr_t paddr;
+ bus_addr_t paddr;
#endif
#if !(defined(__NetBSD__) || defined(__OpenBSD__))
@@ -1339,7 +1332,7 @@ static void ncr_attach (pcici_t tag, int unit);
#if 0
static char ident[] =
- "\n$NetBSD: ncr.c,v 1.35.4.1 1996/06/03 20:32:17 cgd Exp $\n";
+ "\n$NetBSD: ncr.c,v 1.48 1996/10/25 21:33:33 cgd Exp $\n";
#endif
static const u_long ncr_version = NCR_VERSION * 11
@@ -1487,8 +1480,11 @@ static char *ncr_name (ncb_p np)
* Kernel variables referenced in the scripts.
* THESE MUST ALL BE ALIGNED TO A 4-BYTE BOUNDARY.
*/
-static void *script_kvars[] =
- { (void *)&mono_time.tv_sec, (void *)&mono_time, (void *)&ncr_cache };
+static unsigned long script_kvars[] = {
+ (unsigned long)&mono_time.tv_sec,
+ (unsigned long)&mono_time,
+ (unsigned long)&ncr_cache,
+};
static struct script script0 = {
/*--------------------------< START >-----------------------*/ {
@@ -3204,7 +3200,7 @@ static void ncr_script_copy_and_bind (struct script *script, ncb_p np)
((old & ~RELOC_MASK) >
SCRIPT_KVAR_LAST))
panic("ncr KVAR out of range");
- new = vtophys(script_kvars[old &
+ new = vtophys((void *)script_kvars[old &
~RELOC_MASK]);
break;
case 0:
@@ -3354,7 +3350,7 @@ static char* ncr_probe (pcici_t tag, pcidi_t type)
#define MIN_ASYNC_PD 40
#define MIN_SYNC_PD 20
-#if defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__OpenBSD__)
int ncr_print __P((void *, const char *));
@@ -3369,19 +3365,23 @@ ncr_print(aux, name)
return UNCONF;
}
+#endif
+#if defined(__NetBSD__) || defined(__OpenBSD__)
+
void
ncr_attach(parent, self, aux)
struct device *parent, *self;
void *aux;
{
struct pci_attach_args *pa = aux;
- bus_chipset_tag_t bc = pa->pa_bc;
+ bus_space_tag_t memt = pa->pa_memt;
pci_chipset_tag_t pc = pa->pa_pc;
- bus_mem_size_t memsize;
+ bus_size_t memsize;
int retval, cacheable;
pci_intr_handle_t intrhandle;
const char *intrstr;
ncb_p np = (void *)self;
+ int wide = 0;
printf(": NCR ");
switch (pa->pa_id) {
@@ -3396,17 +3396,19 @@ ncr_attach(parent, self, aux)
break;
case NCR_825_ID:
printf("53c825 Wide");
+ wide = 1;
break;
case NCR_860_ID:
printf("53c860");
break;
case NCR_875_ID:
printf("53c875 Wide");
+ wide = 1;
break;
}
printf(" SCSI\n");
- np->sc_bc = bc;
+ np->sc_memt = memt;
np->sc_pc = pc;
/*
@@ -3422,7 +3424,8 @@ ncr_attach(parent, self, aux)
}
/* Map the memory. Note that we never want it to be cacheable. */
- retval = bus_mem_map(pa->pa_bc, np->paddr, memsize, 0, &np->sc_memh);
+ retval = bus_space_map(pa->pa_memt, np->paddr, memsize, 0,
+ &np->sc_bah);
if (retval) {
printf("%s: couldn't map memory region\n", self->dv_xname);
return;
@@ -3638,6 +3641,9 @@ static void ncr_attach (pcici_t config_id, int unit)
np->sc_link.adapter_softc = np;
np->sc_link.adapter_target = np->myaddr;
np->sc_link.openings = 1;
+#ifndef __OpenBSD__
+ np->sc_link.channel = SCSI_CHANNEL_ONLY_ONE;
+#endif
#else /* !__NetBSD__ */
np->sc_link.adapter_unit = unit;
np->sc_link.adapter_softc = np;
@@ -3648,7 +3654,9 @@ static void ncr_attach (pcici_t config_id, int unit)
np->sc_link.device = &ncr_dev;
np->sc_link.flags = 0;
-#if defined(__NetBSD__) || defined(__OpenBSD__)
+#if defined(__NetBSD__)
+ config_found(self, &np->sc_link, scsiprint);
+#elif defined(__OpenBSD__)
config_found(self, &np->sc_link, ncr_print);
#else /* !__NetBSD__ */
#if (__FreeBSD__ >= 2)
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c
index 0d2f6061d0b..e75d16ea2fb 100644
--- a/sys/dev/pci/pci.c
+++ b/sys/dev/pci/pci.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: pci.c,v 1.4 1996/11/23 21:47:05 kstailey Exp $ */
-/* $NetBSD: pci.c,v 1.19 1996/05/03 17:33:49 christos Exp $ */
+/* $OpenBSD: pci.c,v 1.5 1996/11/28 23:28:09 niklas Exp $ */
+/* $NetBSD: pci.c,v 1.24 1996/10/21 22:56:55 thorpej Exp $ */
/*
* Copyright (c) 1995, 1996 Christopher G. Demetriou. All rights reserved.
@@ -89,14 +89,15 @@ pciattach(parent, self, aux)
void *aux;
{
struct pcibus_attach_args *pba = aux;
- bus_chipset_tag_t bc;
+ bus_space_tag_t iot, memt;
pci_chipset_tag_t pc;
int bus, device, maxndevs, function, nfunctions;
pci_attach_hook(parent, self, pba);
printf("\n");
- bc = pba->pba_bc;
+ iot = pba->pba_iot;
+ memt = pba->pba_memt;
pc = pba->pba_pc;
bus = pba->pba_bus;
maxndevs = pci_bus_maxdevs(pc, bus);
@@ -123,7 +124,8 @@ pciattach(parent, self, aux)
class = pci_conf_read(pc, tag, PCI_CLASS_REG);
intr = pci_conf_read(pc, tag, PCI_INTERRUPT_REG);
- pa.pa_bc = bc;
+ pa.pa_iot = iot;
+ pa.pa_memt = memt;
pa.pa_pc = pc;
pa.pa_device = device;
pa.pa_function = function;
@@ -196,8 +198,8 @@ pci_io_find(pc, pcitag, reg, iobasep, iosizep)
pci_chipset_tag_t pc;
pcitag_t pcitag;
int reg;
- bus_io_addr_t *iobasep;
- bus_io_size_t *iosizep;
+ bus_addr_t *iobasep;
+ bus_size_t *iosizep;
{
pcireg_t addrdata, sizedata;
int s;
@@ -229,7 +231,7 @@ pci_io_find(pc, pcitag, reg, iobasep, iosizep)
if (iobasep != NULL)
*iobasep = PCI_MAPREG_IO_ADDR(addrdata);
if (iosizep != NULL)
- *iosizep = ~PCI_MAPREG_IO_ADDR(sizedata) + 1;
+ *iosizep = PCI_MAPREG_IO_SIZE(sizedata);
return (0);
}
@@ -239,8 +241,8 @@ pci_mem_find(pc, pcitag, reg, membasep, memsizep, cacheablep)
pci_chipset_tag_t pc;
pcitag_t pcitag;
int reg;
- bus_mem_addr_t *membasep;
- bus_mem_size_t *memsizep;
+ bus_addr_t *membasep;
+ bus_size_t *memsizep;
int *cacheablep;
{
pcireg_t addrdata, sizedata;
@@ -285,7 +287,7 @@ pci_mem_find(pc, pcitag, reg, membasep, memsizep, cacheablep)
if (membasep != NULL)
*membasep = PCI_MAPREG_MEM_ADDR(addrdata); /* PCI addr */
if (memsizep != NULL)
- *memsizep = ~PCI_MAPREG_MEM_ADDR(sizedata) + 1;
+ *memsizep = PCI_MAPREG_MEM_SIZE(sizedata);
if (cacheablep != NULL)
*cacheablep = PCI_MAPREG_MEM_CACHEABLE(addrdata);
diff --git a/sys/dev/pci/pci_subr.c b/sys/dev/pci/pci_subr.c
index 566e662cb09..2dbabb9b3e6 100644
--- a/sys/dev/pci/pci_subr.c
+++ b/sys/dev/pci/pci_subr.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: pci_subr.c,v 1.3 1996/10/31 03:29:11 millert Exp $ */
-/* $NetBSD: pci_subr.c,v 1.17 1996/03/02 02:28:48 cgd Exp $ */
+/* $OpenBSD: pci_subr.c,v 1.4 1996/11/28 23:28:10 niklas Exp $ */
+/* $NetBSD: pci_subr.c,v 1.19 1996/10/13 01:38:29 christos Exp $ */
/*
* Copyright (c) 1995, 1996 Christopher G. Demetriou. All rights reserved.
diff --git a/sys/dev/pci/pcidevs b/sys/dev/pci/pcidevs
index 83456f6fd1f..16c3f6461ee 100644
--- a/sys/dev/pci/pcidevs
+++ b/sys/dev/pci/pcidevs
@@ -1,5 +1,5 @@
-$OpenBSD: pcidevs,v 1.13 1996/10/14 10:22:22 deraadt Exp $
-/* $NetBSD: pcidevs,v 1.8 1996/05/07 01:59:45 thorpej Exp $ */
+$OpenBSD: pcidevs,v 1.14 1996/11/28 23:28:11 niklas Exp $
+/* $NetBSD: pcidevs,v 1.20 1996/10/19 13:01:49 jonathan Exp $ */
/*
@@ -200,7 +200,6 @@ vendor SGI 0x10a9 Silicon Graphics
vendor ACC 0x10aa ACC Microelectronics
vendor DIGICOM 0x10ab Digicom
vendor HONEYWELL 0x10ac Honeywell IASD
-vendor SYMPHONY 0x10ad Symphony Labs (or Winbond?)
vendor CORNERSTONE 0x10ae Cornerstone Technology
vendor MICROCOMPSON 0x10af Micro Computer Sysytems (M) SON
vendor CARDEXPER 0x10b0 CardExpert Technology
@@ -252,7 +251,6 @@ vendor ES 0x10dd Evans & Sutherland
vendor NVIDIA 0x10de Nvidia Corporation
vendor EMULEX 0x10df Emulex
vendor IMS 0x10e0 Integrated Micro Solutions
-vendor TEKRAM 0x10e1 Tekram Technology
vendor APTIX 0x10e2 Aptix Corporation
vendor NEWBRIDGE 0x10e3 Newbridge Microsystems
vendor TANDEM 0x10e4 Tandem Computers
@@ -289,7 +287,7 @@ vendor CREATIVELABS 0x1102 Creative Labs
vendor TRIONES 0x1103 Triones Technologies
vendor RASTEROPS 0x1104 RasterOps
vendor SIGMA 0x1105 Sigma Designs
-vendor VIATECH 0x1106 Via Technologies
+vendor VIATECH 0x1106 VIA Technologies
vendor STRATIS 0x1107 Stratus Computer
vendor PROTEON 0x1108 Proteon
vendor COGENT 0x1109 Cogent Data Technologies
@@ -391,8 +389,9 @@ vendor INVENTEC 0x1170 Inventec
vendor ZEITNET 0x1193 ZeitNet
vendor SPECIALIX 0x11cb Specialix
vendor CYCLADES 0x120e Cyclades
-vendor SYMPHONY2 0x1c1c Symphony (duplicate? see 0x10ad)
-vendor TEKRAM2 0x1de1 Tekram (mistyped? see 0x10e1)
+vendor ZEINET 0x1193 Zeinet
+vendor SYMPHONY 0x1c1c Symphony Labs
+vendor TEKRAM 0x1de1 Tekram Technology
vendor AVANCE2 0x4005 Avance Logic (mistyped? see 0x1005)
vendor S3 0x5333 S3
vendor INTEL 0x8086 Intel
@@ -406,44 +405,78 @@ vendor ARK 0xedd8 Ark Logic (or Arc? or Hercules?)
*/
/* 3COM Products */
-product 3COM 3C590 0x5900 3c590 10Mbps
-product 3COM 3C595 0x5950 3c595 100Base-TX
-product 3COM 3C595T 0x5951 3c595 100Base-T4
-product 3COM 3C595TM 0x5952 3c595 100Base-T/MII
-product 3COM 3C900 0x9000 3c900 10Base-T
-product 3COM 3C900T 0x9001 3c900 10Mbps-Combo
-product 3COM 3C905 0x9050 3c905 100Base-TX
-product 3COM 3C905T 0x9051 3c905 100Base-T4
-
-/* Acer products */
-product ACER M1435 0x1435 M1435
+product 3COM 3C590 0x5900 3c590 10Mbps
+product 3COM 3C595TX 0x5950 3c595 100Base-TX
+product 3COM 3C595T4 0x5951 3c595 100Base-T4
+product 3COM 3C595MII 0x5952 3c595 10Mbps-MII
+product 3COM 3C900TPO 0x9000 3c900 10Base-T
+product 3COM 3C900COMBO 0x9001 3c900 10Mbps-Combo
+product 3COM 3C905TX 0x9050 3c905 100Base-TX
+product 3COM 3C905T4 0x9051 3c905 100Base-T4
+
+/* Acer Labs products */
+product ALI M1445 0x1445 M1445
+product ALI M1449 0x1449 M1449
+product ALI M1451 0x1451 M1451
+product ALI M4803 0x5215 M4803
/* Adaptec products */
-product ADP 3940U 0x8278 AHA-3940 Ultra
-product ADP 2944U 0x8478 AHA-2944 Ultra
-product ADP 2940U 0x8178 AHA-2940 Ultra
-product ADP 3940 0x7278 AHA-3940
-product ADP 2944 0x7478 AHA-2944
-product ADP 2940 0x7178 AHA-2940
-product ADP AIC7880 0x8078 AIC-7880 Ultra
-product ADP AIC7870 0x7078 AIC-7870
-product ADP AIC7850 0x5078 AIC-7850
+product ADP AIC7850 0x5078 AIC-7850
+product ADP AIC7855 0x5578 AIC-7855
+product ADP AIC7860 0x6078 AIC-7860
+product ADP 2940AU 0x6178 AHA-2940A Ultra
+product ADP AIC7870 0x7078 AIC-7870
+product ADP 2940 0x7178 AHA-2940
+product ADP 3940 0x7278 AHA-3940
+product ADP 2944 0x7478 AHA-2944
+product ADP AIC7880 0x8078 AIC-7880 Ultra
+product ADP 2940U 0x8178 AHA-2940 Ultra
+product ADP 3940U 0x8278 AHA-3940 Ultra
+product ADP 2944U 0x8478 AHA-2944 Ultra
/* AMD products */
-product AMD PCNET_PCI 0x2000 PCnet-PCI Ethernet
+product AMD PCNET_PCI 0x2000 79c970 PCnet-PCI LANCE Ethernet
+product AMD PCSCSI_PCI 0x2020 53c974 PCscsi-PCI SCSI
+
+/* ARK Logic products */
+product ARK 1000PV 0xa091 1000PV
+product ARK 2000PV 0xa099 2000PV
/* ATI products */
product ATI MACH32 0x4158 Mach32
-product ATI MACH64_CX 0x4358 Mach64-CX
-product ATI MACH64_GX 0x4758 Mach64-GX
+product ATI MACH64_CT 0x4354 Mach64 CT
+product ATI MACH64_CX 0x4358 Mach64 CX
+product ATI MACH64_ET 0x4554 Mach64 ET
+product ATI MACH64_VT 0x4654 Mach64 VT
+product ATI MACH64_GT 0x4754 Mach64 GT
+product ATI MACH64_GX 0x4758 Mach64 GX
+
+/* Atronics products */
+product ATRONICS IDE_2015PL 0x2015 IDE-2015PL
+
+/* Avance Logic products */
+product AVANCE ALG2301 0x2301 ALG2301
/* BusLogic products */
-product BUSLOGIC OLD946C 0x0140 946C
-product BUSLOGIC 946C 0x1040 946C
+product BUSLOGIC OLD946C 0x0140 946C 01
+product BUSLOGIC 946C 0x1040 946C 10
+
+/* Chips and Technologies products */
+product CHIPS 65545 0x00d8 65545
/* Cirrus Logic products */
-/* product CIRRUS UNK 0x00a4 unknown */
-product CIRRUS 5434 0x00a8 5434
+product CIRRUS GD_5430 0x00a0 GD 5430
+product CIRRUS GD_5434_4 0x00a4 GD 5434-4
+product CIRRUS GD_5434_8 0x00a8 GD 5434-8
+product CIRRUS GD_5436 0x00ac GD 5436
+product CIRRUS CL_6729 0x1100 CL 6729
+product CIRRUS CL_7542 0x1200 CL 7542
+
+/* CMD Technology products */
+product CMDTECH 640A 0x0640 640A
+
+/* Contaq Microsystems products */
+product CONTAQ 82C599 0x0600 82C599
/* DEC products */
product DEC 21050 0x0001 DECchip 21050 PCI-PCI Bridge
@@ -452,21 +485,36 @@ product DEC 21030 0x0004 DECchip 21030 (\"TGA\")
product DEC NVRAM 0x0007 Zephyr NV-RAM
product DEC KZPSA 0x0008 KZPSA
product DEC 21140 0x0009 DECchip 21140 (\"FasterNet\")
+product DEC PBXGB 0x000d TGA2
product DEC DEFPA 0x000f DEFPA
/* product DEC ??? 0x0010 ??? VME Interface */
product DEC 21041 0x0014 DECchip 21041 (\"Tulip Pass 3\")
+product DEC DGLPB 0x0016 DGLPB (\"OPPO\")
/* Diamond products */
product DIAMOND vIPER 0x9001 Viper/PCI
-/* CMD Technologies Products */
-product CMDTECH PCI0640 0x0640 UNSUPP PCI to IDE Controller
+/* Distributed Processing Technology products */
+product DPT SC_RAID 0xa400 SmartCache/Raid
/* FORE products */
product FORE PCA200 0x0210 ATM PCA-200
+product FORE PCA200E 0x0300 ATM PCA-200e
+
+/* Future Domain products */
+product FUTUREDOMAIN TMC_18C30 0x0000 TMC-18C30 (36C70)
-/* ENI products */
-product EFFICIENTNETS ENI155P 0x0002 ENI-155P ATM
+/* Efficient Networks products */
+product EFFICIENTNETS ENI155P 0x0002 155P-MF1 ATM
+
+/* Hewlett-Packard products */
+product HP J2585A 0x1030 J2585A
+
+/* IBM products */
+product IBM 82351 0x0022 82351 PCI-PCI Bridge
+
+/* Integrated Micro Solutions products */
+product IMS 8849 0x8849 8849
/* Intel products */
product INTEL PCEB 0x0482 82375EB PCI-EISA Bridge
@@ -474,10 +522,30 @@ product INTEL CDC 0x0483 82424ZX Cache and DRAM controller
product INTEL SIO 0x0484 82378IB PCI-ISA Bridge (System I/O)
product INTEL PCIB 0x0486 82426EX PCI-ISA Bridge
product INTEL PCMC 0x04a3 82434LX PCI, Cache, and Memory Controller
+product INTEL SAA7116 0x1223 SAA7116
+product INTEL 82437 0x122d 82437 Triton
+product INTEL 82471 0x122e 82471 Triton
+product INTEL 82438 0x1230 82438
+
+/* I. T. T. products */
+product ITT AGX016 0x0001 AGX016
+
+/* LeadTek Research */
+product LEADTEK S3_805 0x0000 S3 805
+
+/* Matrox products */
+product MATROX ATLAS 0x0518 MGA-2 Atlas PX2085
+product MATROX IMPRESSION 0x0d10 MGA Impression
/* Mylex products */
product MYLEX 960P 0x0001 RAID controller
+/* Mutech products */
+product MUTECH MV1000 0x0001 MV1000
+
+/* National Semiconductor products */
+product NS 87410 0xd001 87410
+
/* NCR/Symbios Logic products */
product OLDNCR 810 0x0001 53c810
product OLDNCR 820 0x0002 53c820
@@ -492,33 +560,100 @@ product OLDNCR 875 0x000f 53c875
product NUMBER9 IMAG128 0x2309 Imagine-128
/* Opti products */
+product OPTI 82C557 0xc557 82C557
+product OPTI 82C558 0xc558 82C558
+product OPTI 82C621 0xc621 82C621
product OPTI 82C822 0xc822 82C822
-product OPTI 82C621 0xc821 82C621
+
+/* Promise products */
+product PROMISE DC5030 0x5300 DC5030
/* QLogic products */
product QLOGIC ISP1020 0x1020 ISP1020
+product QLOGIC ISP1022 0x1022 ISP1022
+
+/* Quantum Designs products */
+product QUANTUMDESIGNS 8500 0x0001 8500
+product QUANTUMDESIGNS 8580 0x0002 8580
+
+/* Realtek (Creative Labs?) products */
+product REALTEK RT8029 0x8029 Ethernet
/* S3 products */
-/* Names??? */
-product S3 TRIO64 0x8811 Trio32/64/64V+
+product S3 TRIO64 0x8811 Trio32/64
product S3 868 0x8880 868
product S3 928 0x88b0 928
-product S3 864_0 0x88c0 Vision 864-0
-product S3 864_1 0x88c1 Vision 864-1
-product S3 964 0x88d0 964
+product S3 864_0 0x88c0 864-0
+product S3 864_1 0x88c1 864-1
+product S3 964_0 0x88d0 964-0
+product S3 964_1 0x88d1 964-1
product S3 968 0x88f0 968
+/* Silicon Integrated System products */
+product SIS 86C201 0x0001 86C201
+product SIS 86C202 0x0002 86C202
+product SIS 86C205 0x0005 86C205
+product SIS 85C503 0x0008 85C503
+product SIS 85C501 0x0406 85C501
+product SIS 85C496 0x0496 85C496
+product SIS 85C601 0x0601 85C601
+
/* SMC products */
-product SMC 37C665 0x1000 37C665
+product SMC 37C665 0x1000 FDC 37C665
+
+/* Symphony Labs products */
+product SYMPHONY 82C101 0x0001 82C101
+
+/* Tekram Technology products */
+product TEKRAM DC290 0xdc29 DC290
+
+/* Trident products */
+product TRIDENT TGUI_9320 0x9320 TGUI 9320
+product TRIDENT TGUI_9420 0x9420 TGUI 9420
+product TRIDENT TGUI_9440 0x9440 TGUI 9440
+product TRIDENT TGUI_9660 0x9660 TGUI 9660
+product TRIDENT TGUI_9680 0x9680 TGUI 9680
+product TRIDENT TGUI_9682 0x9682 TGUI 9682
/* Tseng Labs products */
-product TSENG W32P_A 0x3202 ET4000w32p rev A
-product TSENG W32P_D 0x3207 ET4000w32p rev D
+product TSENG ET4000_W32P_A 0x3202 ET4000w32p rev A
+product TSENG ET4000_W32P_B 0x3205 ET4000w32p rev B
+product TSENG ET4000_W32P_C 0x3206 ET4000w32p rev C
+product TSENG ET4000_W32P_D 0x3207 ET4000w32p rev D
+product TSENG ET6000 0x3208 ET6000
/* UMC products */
product UMC UM8673F 0x0101 UM8673F
product UMC UM8881F 0x8881 UM8881F PCI-Host bridge
product UMC UM8886F 0x8886 UM8886F PCI-ISA bridge
+product UMC UM8886A 0x888a UM8886A
+product UMC UM8891A 0x8891 UM8891A
+
+/* VIA Technologies products */
+product VIATECH 82C505 0x0505 82C505
+product VIATECH ALT_82C505 0x0561 82C505
+product VIATECH 82C576 0x0505 82C576 3V
+
+/* Vortex Computer Systems products */
+product VORTEX GDT_6000B 0x0001 GDT 6000b
+
+/* VLSI products */
+product VLSI 82C592_FC1 0x0005 82C592-FC1
+product VLSI 82C593_FC1 0x0006 82C593-FC1
+
+/* Weitek products */
+product WEITEK P9000 0x9001 P9000
+product WEITEK P9100 0x9100 P9100
+
+/* Winbond Electronics products */
+product WINBOND W83769F 0x0001 W83769F
+
+/* Zeinet products */
+product ZEINET 1221 0x0001 1221
+
+/* Cyclades products */
+product CYCLADES CYCLOMY_1 0x0100 Cyclom-Y below 1M
+product CYCLADES CYCLOMY_2 0x0101 Cyclom-Y above 1M
/* Cyclades products */
product CYCLADES CYCLOMY_1 0x0100 Cyclom-Y below 1M
diff --git a/sys/dev/pci/pcidevs.h b/sys/dev/pci/pcidevs.h
index 484d5a27095..64bdc9fe0bb 100644
--- a/sys/dev/pci/pcidevs.h
+++ b/sys/dev/pci/pcidevs.h
@@ -2,9 +2,9 @@
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
*
* generated from:
- * OpenBSD: pcidevs,v 1.12 1996/10/14 09:00:53 deraadt Exp
+ * OpenBSD: pcidevs,v 1.13 1996/10/14 10:22:22 deraadt Exp
*/
-/* $NetBSD: pcidevs,v 1.8 1996/05/07 01:59:45 thorpej Exp $ */
+/* $NetBSD: pcidevs,v 1.20 1996/10/19 13:01:49 jonathan Exp $ */
/*
@@ -205,7 +205,6 @@
#define PCI_VENDOR_ACC 0x10aa /* ACC Microelectronics */
#define PCI_VENDOR_DIGICOM 0x10ab /* Digicom */
#define PCI_VENDOR_HONEYWELL 0x10ac /* Honeywell IASD */
-#define PCI_VENDOR_SYMPHONY 0x10ad /* Symphony Labs (or Winbond?) */
#define PCI_VENDOR_CORNERSTONE 0x10ae /* Cornerstone Technology */
#define PCI_VENDOR_MICROCOMPSON 0x10af /* Micro Computer Sysytems (M) SON */
#define PCI_VENDOR_CARDEXPER 0x10b0 /* CardExpert Technology */
@@ -257,7 +256,6 @@
#define PCI_VENDOR_NVIDIA 0x10de /* Nvidia Corporation */
#define PCI_VENDOR_EMULEX 0x10df /* Emulex */
#define PCI_VENDOR_IMS 0x10e0 /* Integrated Micro Solutions */
-#define PCI_VENDOR_TEKRAM 0x10e1 /* Tekram Technology */
#define PCI_VENDOR_APTIX 0x10e2 /* Aptix Corporation */
#define PCI_VENDOR_NEWBRIDGE 0x10e3 /* Newbridge Microsystems */
#define PCI_VENDOR_TANDEM 0x10e4 /* Tandem Computers */
@@ -294,7 +292,7 @@
#define PCI_VENDOR_TRIONES 0x1103 /* Triones Technologies */
#define PCI_VENDOR_RASTEROPS 0x1104 /* RasterOps */
#define PCI_VENDOR_SIGMA 0x1105 /* Sigma Designs */
-#define PCI_VENDOR_VIATECH 0x1106 /* Via Technologies */
+#define PCI_VENDOR_VIATECH 0x1106 /* VIA Technologies */
#define PCI_VENDOR_STRATIS 0x1107 /* Stratus Computer */
#define PCI_VENDOR_PROTEON 0x1108 /* Proteon */
#define PCI_VENDOR_COGENT 0x1109 /* Cogent Data Technologies */
@@ -396,8 +394,9 @@
#define PCI_VENDOR_ZEITNET 0x1193 /* ZeitNet */
#define PCI_VENDOR_SPECIALIX 0x11cb /* Specialix */
#define PCI_VENDOR_CYCLADES 0x120e /* Cyclades */
-#define PCI_VENDOR_SYMPHONY2 0x1c1c /* Symphony (duplicate? see 0x10ad) */
-#define PCI_VENDOR_TEKRAM2 0x1de1 /* Tekram (mistyped? see 0x10e1) */
+#define PCI_VENDOR_ZEINET 0x1193 /* Zeinet */
+#define PCI_VENDOR_SYMPHONY 0x1c1c /* Symphony Labs */
+#define PCI_VENDOR_TEKRAM 0x1de1 /* Tekram Technology */
#define PCI_VENDOR_AVANCE2 0x4005 /* Avance Logic (mistyped? see 0x1005) */
#define PCI_VENDOR_S3 0x5333 /* S3 */
#define PCI_VENDOR_INTEL 0x8086 /* Intel */
@@ -412,43 +411,77 @@
/* 3COM Products */
#define PCI_PRODUCT_3COM_3C590 0x5900 /* 3c590 10Mbps */
-#define PCI_PRODUCT_3COM_3C595 0x5950 /* 3c595 100Base-TX */
-#define PCI_PRODUCT_3COM_3C595T 0x5951 /* 3c595 100Base-T4 */
-#define PCI_PRODUCT_3COM_3C595TM 0x5952 /* 3c595 100Base-T/MII */
-#define PCI_PRODUCT_3COM_3C900 0x9000 /* 3c900 10Base-T */
-#define PCI_PRODUCT_3COM_3C900T 0x9001 /* 3c900 10Mbps-Combo */
-#define PCI_PRODUCT_3COM_3C905 0x9050 /* 3c905 100Base-TX */
-#define PCI_PRODUCT_3COM_3C905T 0x9051 /* 3c905 100Base-T4 */
+#define PCI_PRODUCT_3COM_3C595TX 0x5950 /* 3c595 100Base-TX */
+#define PCI_PRODUCT_3COM_3C595T4 0x5951 /* 3c595 100Base-T4 */
+#define PCI_PRODUCT_3COM_3C595MII 0x5952 /* 3c595 10Mbps-MII */
+#define PCI_PRODUCT_3COM_3C900TPO 0x9000 /* 3c900 10Base-T */
+#define PCI_PRODUCT_3COM_3C900COMBO 0x9001 /* 3c900 10Mbps-Combo */
+#define PCI_PRODUCT_3COM_3C905TX 0x9050 /* 3c905 100Base-TX */
+#define PCI_PRODUCT_3COM_3C905T4 0x9051 /* 3c905 100Base-T4 */
-/* Acer products */
-#define PCI_PRODUCT_ACER_M1435 0x1435 /* M1435 */
+/* Acer Labs products */
+#define PCI_PRODUCT_ALI_M1445 0x1445 /* M1445 */
+#define PCI_PRODUCT_ALI_M1449 0x1449 /* M1449 */
+#define PCI_PRODUCT_ALI_M1451 0x1451 /* M1451 */
+#define PCI_PRODUCT_ALI_M4803 0x5215 /* M4803 */
/* Adaptec products */
-#define PCI_PRODUCT_ADP_3940U 0x8278 /* AHA-3940 Ultra */
-#define PCI_PRODUCT_ADP_2944U 0x8478 /* AHA-2944 Ultra */
-#define PCI_PRODUCT_ADP_2940U 0x8178 /* AHA-2940 Ultra */
+#define PCI_PRODUCT_ADP_AIC7850 0x5078 /* AIC-7850 */
+#define PCI_PRODUCT_ADP_AIC7855 0x5578 /* AIC-7855 */
+#define PCI_PRODUCT_ADP_AIC7860 0x6078 /* AIC-7860 */
+#define PCI_PRODUCT_ADP_2940AU 0x6178 /* AHA-2940A Ultra */
+#define PCI_PRODUCT_ADP_AIC7870 0x7078 /* AIC-7870 */
+#define PCI_PRODUCT_ADP_2940 0x7178 /* AHA-2940 */
#define PCI_PRODUCT_ADP_3940 0x7278 /* AHA-3940 */
#define PCI_PRODUCT_ADP_2944 0x7478 /* AHA-2944 */
-#define PCI_PRODUCT_ADP_2940 0x7178 /* AHA-2940 */
#define PCI_PRODUCT_ADP_AIC7880 0x8078 /* AIC-7880 Ultra */
-#define PCI_PRODUCT_ADP_AIC7870 0x7078 /* AIC-7870 */
-#define PCI_PRODUCT_ADP_AIC7850 0x5078 /* AIC-7850 */
+#define PCI_PRODUCT_ADP_2940U 0x8178 /* AHA-2940 Ultra */
+#define PCI_PRODUCT_ADP_3940U 0x8278 /* AHA-3940 Ultra */
+#define PCI_PRODUCT_ADP_2944U 0x8478 /* AHA-2944 Ultra */
/* AMD products */
-#define PCI_PRODUCT_AMD_PCNET_PCI 0x2000 /* PCnet-PCI Ethernet */
+#define PCI_PRODUCT_AMD_PCNET_PCI 0x2000 /* 79c970 PCnet-PCI LANCE Ethernet */
+#define PCI_PRODUCT_AMD_PCSCSI_PCI 0x2020 /* 53c974 PCscsi-PCI SCSI */
+
+/* ARK Logic products */
+#define PCI_PRODUCT_ARK_1000PV 0xa091 /* 1000PV */
+#define PCI_PRODUCT_ARK_2000PV 0xa099 /* 2000PV */
/* ATI products */
#define PCI_PRODUCT_ATI_MACH32 0x4158 /* Mach32 */
-#define PCI_PRODUCT_ATI_MACH64_CX 0x4358 /* Mach64-CX */
-#define PCI_PRODUCT_ATI_MACH64_GX 0x4758 /* Mach64-GX */
+#define PCI_PRODUCT_ATI_MACH64_CT 0x4354 /* Mach64 CT */
+#define PCI_PRODUCT_ATI_MACH64_CX 0x4358 /* Mach64 CX */
+#define PCI_PRODUCT_ATI_MACH64_ET 0x4554 /* Mach64 ET */
+#define PCI_PRODUCT_ATI_MACH64_VT 0x4654 /* Mach64 VT */
+#define PCI_PRODUCT_ATI_MACH64_GT 0x4754 /* Mach64 GT */
+#define PCI_PRODUCT_ATI_MACH64_GX 0x4758 /* Mach64 GX */
+
+/* Atronics products */
+#define PCI_PRODUCT_ATRONICS_IDE_2015PL 0x2015 /* IDE-2015PL */
+
+/* Avance Logic products */
+#define PCI_PRODUCT_AVANCE_ALG2301 0x2301 /* ALG2301 */
/* BusLogic products */
-#define PCI_PRODUCT_BUSLOGIC_OLD946C 0x0140 /* 946C */
-#define PCI_PRODUCT_BUSLOGIC_946C 0x1040 /* 946C */
+#define PCI_PRODUCT_BUSLOGIC_OLD946C 0x0140 /* 946C 01 */
+#define PCI_PRODUCT_BUSLOGIC_946C 0x1040 /* 946C 10 */
+
+/* Chips and Technologies products */
+#define PCI_PRODUCT_CHIPS_65545 0x00d8 /* 65545 */
/* Cirrus Logic products */
-/* product CIRRUS UNK 0x00a4 unknown */
-#define PCI_PRODUCT_CIRRUS_5434 0x00a8 /* 5434 */
+#define PCI_PRODUCT_CIRRUS_GD_5430 0x00a0 /* GD 5430 */
+#define PCI_PRODUCT_CIRRUS_GD_5434_4 0x00a4 /* GD 5434-4 */
+#define PCI_PRODUCT_CIRRUS_GD_5434_8 0x00a8 /* GD 5434-8 */
+#define PCI_PRODUCT_CIRRUS_GD_5436 0x00ac /* GD 5436 */
+#define PCI_PRODUCT_CIRRUS_CL_6729 0x1100 /* CL 6729 */
+#define PCI_PRODUCT_CIRRUS_CL_7542 0x1200 /* CL 7542 */
+
+/* CMD Technology products */
+#define PCI_PRODUCT_CMDTECH_640A 0x0640 /* 640A */
+
+/* Contaq Microsystems products */
+#define PCI_PRODUCT_CONTAQ_82C599 0x0600 /* 82C599 */
/* DEC products */
#define PCI_PRODUCT_DEC_21050 0x0001 /* DECchip 21050 PCI-PCI Bridge */
@@ -457,21 +490,36 @@
#define PCI_PRODUCT_DEC_NVRAM 0x0007 /* Zephyr NV-RAM */
#define PCI_PRODUCT_DEC_KZPSA 0x0008 /* KZPSA */
#define PCI_PRODUCT_DEC_21140 0x0009 /* DECchip 21140 (\"FasterNet\") */
+#define PCI_PRODUCT_DEC_PBXGB 0x000d /* TGA2 */
#define PCI_PRODUCT_DEC_DEFPA 0x000f /* DEFPA */
/* product DEC ??? 0x0010 ??? VME Interface */
#define PCI_PRODUCT_DEC_21041 0x0014 /* DECchip 21041 (\"Tulip Pass 3\") */
+#define PCI_PRODUCT_DEC_DGLPB 0x0016 /* DGLPB (\"OPPO\") */
/* Diamond products */
#define PCI_PRODUCT_DIAMOND_vIPER 0x9001 /* Viper/PCI */
-/* CMD Technologies Products */
-#define PCI_PRODUCT_CMDTECH_PCI0640 0x0640 /* UNSUPP PCI to IDE Controller */
+/* Distributed Processing Technology products */
+#define PCI_PRODUCT_DPT_SC_RAID 0xa400 /* SmartCache/Raid */
/* FORE products */
#define PCI_PRODUCT_FORE_PCA200 0x0210 /* ATM PCA-200 */
+#define PCI_PRODUCT_FORE_PCA200E 0x0300 /* ATM PCA-200e */
+
+/* Future Domain products */
+#define PCI_PRODUCT_FUTUREDOMAIN_TMC_18C30 0x0000 /* TMC-18C30 (36C70) */
+
+/* Efficient Networks products */
+#define PCI_PRODUCT_EFFICIENTNETS_ENI155P 0x0002 /* 155P-MF1 ATM */
+
+/* Hewlett-Packard products */
+#define PCI_PRODUCT_HP_J2585A 0x1030 /* J2585A */
+
+/* IBM products */
+#define PCI_PRODUCT_IBM_82351 0x0022 /* 82351 PCI-PCI Bridge */
-/* ENI products */
-#define PCI_PRODUCT_EFFICIENTNETS_ENI155P 0x0002 /* ENI-155P ATM */
+/* Integrated Micro Solutions products */
+#define PCI_PRODUCT_IMS_8849 0x8849 /* 8849 */
/* Intel products */
#define PCI_PRODUCT_INTEL_PCEB 0x0482 /* 82375EB PCI-EISA Bridge */
@@ -479,10 +527,30 @@
#define PCI_PRODUCT_INTEL_SIO 0x0484 /* 82378IB PCI-ISA Bridge (System I/O) */
#define PCI_PRODUCT_INTEL_PCIB 0x0486 /* 82426EX PCI-ISA Bridge */
#define PCI_PRODUCT_INTEL_PCMC 0x04a3 /* 82434LX PCI, Cache, and Memory Controller */
+#define PCI_PRODUCT_INTEL_SAA7116 0x1223 /* SAA7116 */
+#define PCI_PRODUCT_INTEL_82437 0x122d /* 82437 Triton */
+#define PCI_PRODUCT_INTEL_82471 0x122e /* 82471 Triton */
+#define PCI_PRODUCT_INTEL_82438 0x1230 /* 82438 */
+
+/* I. T. T. products */
+#define PCI_PRODUCT_ITT_AGX016 0x0001 /* AGX016 */
+
+/* LeadTek Research */
+#define PCI_PRODUCT_LEADTEK_S3_805 0x0000 /* S3 805 */
+
+/* Matrox products */
+#define PCI_PRODUCT_MATROX_ATLAS 0x0518 /* MGA-2 Atlas PX2085 */
+#define PCI_PRODUCT_MATROX_IMPRESSION 0x0d10 /* MGA Impression */
/* Mylex products */
#define PCI_PRODUCT_MYLEX_960P 0x0001 /* RAID controller */
+/* Mutech products */
+#define PCI_PRODUCT_MUTECH_MV1000 0x0001 /* MV1000 */
+
+/* National Semiconductor products */
+#define PCI_PRODUCT_NS_87410 0xd001 /* 87410 */
+
/* NCR/Symbios Logic products */
#define PCI_PRODUCT_OLDNCR_810 0x0001 /* 53c810 */
#define PCI_PRODUCT_OLDNCR_820 0x0002 /* 53c820 */
@@ -497,33 +565,100 @@
#define PCI_PRODUCT_NUMBER9_IMAG128 0x2309 /* Imagine-128 */
/* Opti products */
+#define PCI_PRODUCT_OPTI_82C557 0xc557 /* 82C557 */
+#define PCI_PRODUCT_OPTI_82C558 0xc558 /* 82C558 */
+#define PCI_PRODUCT_OPTI_82C621 0xc621 /* 82C621 */
#define PCI_PRODUCT_OPTI_82C822 0xc822 /* 82C822 */
-#define PCI_PRODUCT_OPTI_82C621 0xc821 /* 82C621 */
+
+/* Promise products */
+#define PCI_PRODUCT_PROMISE_DC5030 0x5300 /* DC5030 */
/* QLogic products */
#define PCI_PRODUCT_QLOGIC_ISP1020 0x1020 /* ISP1020 */
+#define PCI_PRODUCT_QLOGIC_ISP1022 0x1022 /* ISP1022 */
+
+/* Quantum Designs products */
+#define PCI_PRODUCT_QUANTUMDESIGNS_8500 0x0001 /* 8500 */
+#define PCI_PRODUCT_QUANTUMDESIGNS_8580 0x0002 /* 8580 */
+
+/* Realtek (Creative Labs?) products */
+#define PCI_PRODUCT_REALTEK_RT8029 0x8029 /* Ethernet */
/* S3 products */
-/* Names??? */
-#define PCI_PRODUCT_S3_TRIO64 0x8811 /* Trio32/64/64V+ */
+#define PCI_PRODUCT_S3_TRIO64 0x8811 /* Trio32/64 */
#define PCI_PRODUCT_S3_868 0x8880 /* 868 */
#define PCI_PRODUCT_S3_928 0x88b0 /* 928 */
-#define PCI_PRODUCT_S3_864_0 0x88c0 /* Vision 864-0 */
-#define PCI_PRODUCT_S3_864_1 0x88c1 /* Vision 864-1 */
-#define PCI_PRODUCT_S3_964 0x88d0 /* 964 */
+#define PCI_PRODUCT_S3_864_0 0x88c0 /* 864-0 */
+#define PCI_PRODUCT_S3_864_1 0x88c1 /* 864-1 */
+#define PCI_PRODUCT_S3_964_0 0x88d0 /* 964-0 */
+#define PCI_PRODUCT_S3_964_1 0x88d1 /* 964-1 */
#define PCI_PRODUCT_S3_968 0x88f0 /* 968 */
+/* Silicon Integrated System products */
+#define PCI_PRODUCT_SIS_86C201 0x0001 /* 86C201 */
+#define PCI_PRODUCT_SIS_86C202 0x0002 /* 86C202 */
+#define PCI_PRODUCT_SIS_86C205 0x0005 /* 86C205 */
+#define PCI_PRODUCT_SIS_85C503 0x0008 /* 85C503 */
+#define PCI_PRODUCT_SIS_85C501 0x0406 /* 85C501 */
+#define PCI_PRODUCT_SIS_85C496 0x0496 /* 85C496 */
+#define PCI_PRODUCT_SIS_85C601 0x0601 /* 85C601 */
+
/* SMC products */
-#define PCI_PRODUCT_SMC_37C665 0x1000 /* 37C665 */
+#define PCI_PRODUCT_SMC_37C665 0x1000 /* FDC 37C665 */
+
+/* Symphony Labs products */
+#define PCI_PRODUCT_SYMPHONY_82C101 0x0001 /* 82C101 */
+
+/* Tekram Technology products */
+#define PCI_PRODUCT_TEKRAM_DC290 0xdc29 /* DC290 */
+
+/* Trident products */
+#define PCI_PRODUCT_TRIDENT_TGUI_9320 0x9320 /* TGUI 9320 */
+#define PCI_PRODUCT_TRIDENT_TGUI_9420 0x9420 /* TGUI 9420 */
+#define PCI_PRODUCT_TRIDENT_TGUI_9440 0x9440 /* TGUI 9440 */
+#define PCI_PRODUCT_TRIDENT_TGUI_9660 0x9660 /* TGUI 9660 */
+#define PCI_PRODUCT_TRIDENT_TGUI_9680 0x9680 /* TGUI 9680 */
+#define PCI_PRODUCT_TRIDENT_TGUI_9682 0x9682 /* TGUI 9682 */
/* Tseng Labs products */
-#define PCI_PRODUCT_TSENG_W32P_A 0x3202 /* ET4000w32p rev A */
-#define PCI_PRODUCT_TSENG_W32P_D 0x3207 /* ET4000w32p rev D */
+#define PCI_PRODUCT_TSENG_ET4000_W32P_A 0x3202 /* ET4000w32p rev A */
+#define PCI_PRODUCT_TSENG_ET4000_W32P_B 0x3205 /* ET4000w32p rev B */
+#define PCI_PRODUCT_TSENG_ET4000_W32P_C 0x3206 /* ET4000w32p rev C */
+#define PCI_PRODUCT_TSENG_ET4000_W32P_D 0x3207 /* ET4000w32p rev D */
+#define PCI_PRODUCT_TSENG_ET6000 0x3208 /* ET6000 */
/* UMC products */
#define PCI_PRODUCT_UMC_UM8673F 0x0101 /* UM8673F */
#define PCI_PRODUCT_UMC_UM8881F 0x8881 /* UM8881F PCI-Host bridge */
#define PCI_PRODUCT_UMC_UM8886F 0x8886 /* UM8886F PCI-ISA bridge */
+#define PCI_PRODUCT_UMC_UM8886A 0x888a /* UM8886A */
+#define PCI_PRODUCT_UMC_UM8891A 0x8891 /* UM8891A */
+
+/* VIA Technologies products */
+#define PCI_PRODUCT_VIATECH_82C505 0x0505 /* 82C505 */
+#define PCI_PRODUCT_VIATECH_ALT_82C505 0x0561 /* 82C505 */
+#define PCI_PRODUCT_VIATECH_82C576 0x0505 /* 82C576 3V */
+
+/* Vortex Computer Systems products */
+#define PCI_PRODUCT_VORTEX_GDT_6000B 0x0001 /* GDT 6000b */
+
+/* VLSI products */
+#define PCI_PRODUCT_VLSI_82C592_FC1 0x0005 /* 82C592-FC1 */
+#define PCI_PRODUCT_VLSI_82C593_FC1 0x0006 /* 82C593-FC1 */
+
+/* Weitek products */
+#define PCI_PRODUCT_WEITEK_P9000 0x9001 /* P9000 */
+#define PCI_PRODUCT_WEITEK_P9100 0x9100 /* P9100 */
+
+/* Winbond Electronics products */
+#define PCI_PRODUCT_WINBOND_W83769F 0x0001 /* W83769F */
+
+/* Zeinet products */
+#define PCI_PRODUCT_ZEINET_1221 0x0001 /* 1221 */
+
+/* Cyclades products */
+#define PCI_PRODUCT_CYCLADES_CYCLOMY_1 0x0100 /* Cyclom-Y below 1M */
+#define PCI_PRODUCT_CYCLADES_CYCLOMY_2 0x0101 /* Cyclom-Y above 1M */
/* Cyclades products */
#define PCI_PRODUCT_CYCLADES_CYCLOMY_1 0x0100 /* Cyclom-Y below 1M */
diff --git a/sys/dev/pci/pcidevs_data.h b/sys/dev/pci/pcidevs_data.h
index db5461e9be9..ec726eee944 100644
--- a/sys/dev/pci/pcidevs_data.h
+++ b/sys/dev/pci/pcidevs_data.h
@@ -2,9 +2,9 @@
* THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
*
* generated from:
- * OpenBSD: pcidevs,v 1.12 1996/10/14 09:00:53 deraadt Exp
+ * OpenBSD: pcidevs,v 1.13 1996/10/14 10:22:22 deraadt Exp
*/
-/* $NetBSD: pcidevs,v 1.8 1996/05/07 01:59:45 thorpej Exp $ */
+/* $NetBSD: pcidevs,v 1.20 1996/10/19 13:01:49 jonathan Exp $ */
struct pci_knowndev pci_knowndevs[] = {
@@ -15,82 +15,100 @@ struct pci_knowndev pci_knowndevs[] = {
"3c590 10Mbps",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595TX,
0,
"3Com",
"3c595 100Base-TX",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595T,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595T4,
0,
"3Com",
"3c595 100Base-T4",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595TM,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C595MII,
0,
"3Com",
- "3c595 100Base-T/MII",
+ "3c595 10Mbps-MII",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C900,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C900TPO,
0,
"3Com",
"3c900 10Base-T",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C900T,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C900COMBO,
0,
"3Com",
"3c900 10Mbps-Combo",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C905,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C905TX,
0,
"3Com",
"3c905 100Base-TX",
},
{
- PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C905T,
+ PCI_VENDOR_3COM, PCI_PRODUCT_3COM_3C905T4,
0,
"3Com",
"3c905 100Base-T4",
},
{
- PCI_VENDOR_ACER, PCI_PRODUCT_ACER_M1435,
+ PCI_VENDOR_ALI, PCI_PRODUCT_ALI_M1445,
0,
- "Acer",
- "M1435",
+ "Acer Labs",
+ "M1445",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_3940U,
+ PCI_VENDOR_ALI, PCI_PRODUCT_ALI_M1449,
+ 0,
+ "Acer Labs",
+ "M1449",
+ },
+ {
+ PCI_VENDOR_ALI, PCI_PRODUCT_ALI_M1451,
+ 0,
+ "Acer Labs",
+ "M1451",
+ },
+ {
+ PCI_VENDOR_ALI, PCI_PRODUCT_ALI_M4803,
+ 0,
+ "Acer Labs",
+ "M4803",
+ },
+ {
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7850,
0,
"Adaptec",
- "AHA-3940 Ultra",
+ "AIC-7850",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2944U,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7855,
0,
"Adaptec",
- "AHA-2944 Ultra",
+ "AIC-7855",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2940U,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7860,
0,
"Adaptec",
- "AHA-2940 Ultra",
+ "AIC-7860",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_3940,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2940AU,
0,
"Adaptec",
- "AHA-3940",
+ "AHA-2940A Ultra",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2944,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7870,
0,
"Adaptec",
- "AHA-2944",
+ "AIC-7870",
},
{
PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2940,
@@ -99,28 +117,64 @@ struct pci_knowndev pci_knowndevs[] = {
"AHA-2940",
},
{
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_3940,
+ 0,
+ "Adaptec",
+ "AHA-3940",
+ },
+ {
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2944,
+ 0,
+ "Adaptec",
+ "AHA-2944",
+ },
+ {
PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7880,
0,
"Adaptec",
"AIC-7880 Ultra",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7870,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2940U,
0,
"Adaptec",
- "AIC-7870",
+ "AHA-2940 Ultra",
},
{
- PCI_VENDOR_ADP, PCI_PRODUCT_ADP_AIC7850,
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_3940U,
0,
"Adaptec",
- "AIC-7850",
+ "AHA-3940 Ultra",
+ },
+ {
+ PCI_VENDOR_ADP, PCI_PRODUCT_ADP_2944U,
+ 0,
+ "Adaptec",
+ "AHA-2944 Ultra",
},
{
PCI_VENDOR_AMD, PCI_PRODUCT_AMD_PCNET_PCI,
0,
"AMD",
- "PCnet-PCI Ethernet",
+ "79c970 PCnet-PCI LANCE Ethernet",
+ },
+ {
+ PCI_VENDOR_AMD, PCI_PRODUCT_AMD_PCSCSI_PCI,
+ 0,
+ "AMD",
+ "53c974 PCscsi-PCI SCSI",
+ },
+ {
+ PCI_VENDOR_ARK, PCI_PRODUCT_ARK_1000PV,
+ 0,
+ "Ark Logic (or Arc? or Hercules?)",
+ "1000PV",
+ },
+ {
+ PCI_VENDOR_ARK, PCI_PRODUCT_ARK_2000PV,
+ 0,
+ "Ark Logic (or Arc? or Hercules?)",
+ "2000PV",
},
{
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH32,
@@ -129,34 +183,118 @@ struct pci_knowndev pci_knowndevs[] = {
"Mach32",
},
{
+ PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_CT,
+ 0,
+ "ATI Technologies",
+ "Mach64 CT",
+ },
+ {
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_CX,
0,
"ATI Technologies",
- "Mach64-CX",
+ "Mach64 CX",
+ },
+ {
+ PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_ET,
+ 0,
+ "ATI Technologies",
+ "Mach64 ET",
+ },
+ {
+ PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_VT,
+ 0,
+ "ATI Technologies",
+ "Mach64 VT",
+ },
+ {
+ PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_GT,
+ 0,
+ "ATI Technologies",
+ "Mach64 GT",
},
{
PCI_VENDOR_ATI, PCI_PRODUCT_ATI_MACH64_GX,
0,
"ATI Technologies",
- "Mach64-GX",
+ "Mach64 GX",
+ },
+ {
+ PCI_VENDOR_ATRONICS, PCI_PRODUCT_ATRONICS_IDE_2015PL,
+ 0,
+ "Atronics",
+ "IDE-2015PL",
+ },
+ {
+ PCI_VENDOR_AVANCE, PCI_PRODUCT_AVANCE_ALG2301,
+ 0,
+ "Avance Logic",
+ "ALG2301",
},
{
PCI_VENDOR_BUSLOGIC, PCI_PRODUCT_BUSLOGIC_OLD946C,
0,
"BusLogic",
- "946C",
+ "946C 01",
},
{
PCI_VENDOR_BUSLOGIC, PCI_PRODUCT_BUSLOGIC_946C,
0,
"BusLogic",
- "946C",
+ "946C 10",
+ },
+ {
+ PCI_VENDOR_CHIPS, PCI_PRODUCT_CHIPS_65545,
+ 0,
+ "Chips and Technologies",
+ "65545",
},
{
- PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_5434,
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_GD_5430,
0,
"Cirrus Logic",
- "5434",
+ "GD 5430",
+ },
+ {
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_GD_5434_4,
+ 0,
+ "Cirrus Logic",
+ "GD 5434-4",
+ },
+ {
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_GD_5434_8,
+ 0,
+ "Cirrus Logic",
+ "GD 5434-8",
+ },
+ {
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_GD_5436,
+ 0,
+ "Cirrus Logic",
+ "GD 5436",
+ },
+ {
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_CL_6729,
+ 0,
+ "Cirrus Logic",
+ "CL 6729",
+ },
+ {
+ PCI_VENDOR_CIRRUS, PCI_PRODUCT_CIRRUS_CL_7542,
+ 0,
+ "Cirrus Logic",
+ "CL 7542",
+ },
+ {
+ PCI_VENDOR_CMDTECH, PCI_PRODUCT_CMDTECH_640A,
+ 0,
+ "CMD Technology",
+ "640A",
+ },
+ {
+ PCI_VENDOR_CONTAQ, PCI_PRODUCT_CONTAQ_82C599,
+ 0,
+ "Contaq Microsystems",
+ "82C599",
},
{
PCI_VENDOR_DEC, PCI_PRODUCT_DEC_21050,
@@ -195,6 +333,12 @@ struct pci_knowndev pci_knowndevs[] = {
"DECchip 21140 (\"FasterNet\")",
},
{
+ PCI_VENDOR_DEC, PCI_PRODUCT_DEC_PBXGB,
+ 0,
+ "Digital Equipment",
+ "TGA2",
+ },
+ {
PCI_VENDOR_DEC, PCI_PRODUCT_DEC_DEFPA,
0,
"Digital Equipment",
@@ -207,16 +351,22 @@ struct pci_knowndev pci_knowndevs[] = {
"DECchip 21041 (\"Tulip Pass 3\")",
},
{
+ PCI_VENDOR_DEC, PCI_PRODUCT_DEC_DGLPB,
+ 0,
+ "Digital Equipment",
+ "DGLPB (\"OPPO\")",
+ },
+ {
PCI_VENDOR_DIAMOND, PCI_PRODUCT_DIAMOND_vIPER,
0,
"Diamond Computer Systems",
"Viper/PCI",
},
{
- PCI_VENDOR_CMDTECH, PCI_PRODUCT_CMDTECH_PCI0640,
+ PCI_VENDOR_DPT, PCI_PRODUCT_DPT_SC_RAID,
0,
- "CMD Technology",
- "UNSUPP PCI to IDE Controller",
+ "Distributed Processing Technology",
+ "SmartCache/Raid",
},
{
PCI_VENDOR_FORE, PCI_PRODUCT_FORE_PCA200,
@@ -225,10 +375,40 @@ struct pci_knowndev pci_knowndevs[] = {
"ATM PCA-200",
},
{
+ PCI_VENDOR_FORE, PCI_PRODUCT_FORE_PCA200E,
+ 0,
+ "FORE Systems",
+ "ATM PCA-200e",
+ },
+ {
+ PCI_VENDOR_FUTUREDOMAIN, PCI_PRODUCT_FUTUREDOMAIN_TMC_18C30,
+ 0,
+ "Future Domain",
+ "TMC-18C30 (36C70)",
+ },
+ {
PCI_VENDOR_EFFICIENTNETS, PCI_PRODUCT_EFFICIENTNETS_ENI155P,
0,
"Efficent Networks",
- "ENI-155P ATM",
+ "155P-MF1 ATM",
+ },
+ {
+ PCI_VENDOR_HP, PCI_PRODUCT_HP_J2585A,
+ 0,
+ "Hewlett-Packard",
+ "J2585A",
+ },
+ {
+ PCI_VENDOR_IBM, PCI_PRODUCT_IBM_82351,
+ 0,
+ "IBM",
+ "82351 PCI-PCI Bridge",
+ },
+ {
+ PCI_VENDOR_IMS, PCI_PRODUCT_IMS_8849,
+ 0,
+ "Integrated Micro Solutions",
+ "8849",
},
{
PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_PCEB,
@@ -261,12 +441,72 @@ struct pci_knowndev pci_knowndevs[] = {
"82434LX PCI, Cache, and Memory Controller",
},
{
+ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_SAA7116,
+ 0,
+ "Intel",
+ "SAA7116",
+ },
+ {
+ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82437,
+ 0,
+ "Intel",
+ "82437 Triton",
+ },
+ {
+ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82471,
+ 0,
+ "Intel",
+ "82471 Triton",
+ },
+ {
+ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82438,
+ 0,
+ "Intel",
+ "82438",
+ },
+ {
+ PCI_VENDOR_ITT, PCI_PRODUCT_ITT_AGX016,
+ 0,
+ "I. T. T. (or X technology?)",
+ "AGX016",
+ },
+ {
+ PCI_VENDOR_LEADTEK, PCI_PRODUCT_LEADTEK_S3_805,
+ 0,
+ "LeadTek Research",
+ "S3 805",
+ },
+ {
+ PCI_VENDOR_MATROX, PCI_PRODUCT_MATROX_ATLAS,
+ 0,
+ "Matrox",
+ "MGA-2 Atlas PX2085",
+ },
+ {
+ PCI_VENDOR_MATROX, PCI_PRODUCT_MATROX_IMPRESSION,
+ 0,
+ "Matrox",
+ "MGA Impression",
+ },
+ {
PCI_VENDOR_MYLEX, PCI_PRODUCT_MYLEX_960P,
0,
"Mylex",
"RAID controller",
},
{
+ PCI_VENDOR_MUTECH, PCI_PRODUCT_MUTECH_MV1000,
+ 0,
+ "Mutech",
+ "MV1000",
+ },
+ {
+ PCI_VENDOR_NS, PCI_PRODUCT_NS_87410,
+ 0,
+ "National Semiconductor",
+ "87410",
+ },
+ {
PCI_VENDOR_OLDNCR, PCI_PRODUCT_OLDNCR_810,
0,
"NCR",
@@ -315,10 +555,16 @@ struct pci_knowndev pci_knowndevs[] = {
"Imagine-128",
},
{
- PCI_VENDOR_OPTI, PCI_PRODUCT_OPTI_82C822,
+ PCI_VENDOR_OPTI, PCI_PRODUCT_OPTI_82C557,
0,
"Opti",
- "82C822",
+ "82C557",
+ },
+ {
+ PCI_VENDOR_OPTI, PCI_PRODUCT_OPTI_82C558,
+ 0,
+ "Opti",
+ "82C558",
},
{
PCI_VENDOR_OPTI, PCI_PRODUCT_OPTI_82C621,
@@ -327,16 +573,52 @@ struct pci_knowndev pci_knowndevs[] = {
"82C621",
},
{
+ PCI_VENDOR_OPTI, PCI_PRODUCT_OPTI_82C822,
+ 0,
+ "Opti",
+ "82C822",
+ },
+ {
+ PCI_VENDOR_PROMISE, PCI_PRODUCT_PROMISE_DC5030,
+ 0,
+ "Promise Technology",
+ "DC5030",
+ },
+ {
PCI_VENDOR_QLOGIC, PCI_PRODUCT_QLOGIC_ISP1020,
0,
"Q Logic",
"ISP1020",
},
{
+ PCI_VENDOR_QLOGIC, PCI_PRODUCT_QLOGIC_ISP1022,
+ 0,
+ "Q Logic",
+ "ISP1022",
+ },
+ {
+ PCI_VENDOR_QUANTUMDESIGNS, PCI_PRODUCT_QUANTUMDESIGNS_8500,
+ 0,
+ "Quantum Designs (or Vision?)",
+ "8500",
+ },
+ {
+ PCI_VENDOR_QUANTUMDESIGNS, PCI_PRODUCT_QUANTUMDESIGNS_8580,
+ 0,
+ "Quantum Designs (or Vision?)",
+ "8580",
+ },
+ {
+ PCI_VENDOR_REALTEK, PCI_PRODUCT_REALTEK_RT8029,
+ 0,
+ "Realtek Semiconductor",
+ "Ethernet",
+ },
+ {
PCI_VENDOR_S3, PCI_PRODUCT_S3_TRIO64,
0,
"S3",
- "Trio32/64/64V+",
+ "Trio32/64",
},
{
PCI_VENDOR_S3, PCI_PRODUCT_S3_868,
@@ -354,19 +636,25 @@ struct pci_knowndev pci_knowndevs[] = {
PCI_VENDOR_S3, PCI_PRODUCT_S3_864_0,
0,
"S3",
- "Vision 864-0",
+ "864-0",
},
{
PCI_VENDOR_S3, PCI_PRODUCT_S3_864_1,
0,
"S3",
- "Vision 864-1",
+ "864-1",
+ },
+ {
+ PCI_VENDOR_S3, PCI_PRODUCT_S3_964_0,
+ 0,
+ "S3",
+ "964-0",
},
{
- PCI_VENDOR_S3, PCI_PRODUCT_S3_964,
+ PCI_VENDOR_S3, PCI_PRODUCT_S3_964_1,
0,
"S3",
- "964",
+ "964-1",
},
{
PCI_VENDOR_S3, PCI_PRODUCT_S3_968,
@@ -375,24 +663,132 @@ struct pci_knowndev pci_knowndevs[] = {
"968",
},
{
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_86C201,
+ 0,
+ "Silicon Integrated System",
+ "86C201",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_86C202,
+ 0,
+ "Silicon Integrated System",
+ "86C202",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_86C205,
+ 0,
+ "Silicon Integrated System",
+ "86C205",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_85C503,
+ 0,
+ "Silicon Integrated System",
+ "85C503",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_85C501,
+ 0,
+ "Silicon Integrated System",
+ "85C501",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_85C496,
+ 0,
+ "Silicon Integrated System",
+ "85C496",
+ },
+ {
+ PCI_VENDOR_SIS, PCI_PRODUCT_SIS_85C601,
+ 0,
+ "Silicon Integrated System",
+ "85C601",
+ },
+ {
PCI_VENDOR_SMC, PCI_PRODUCT_SMC_37C665,
0,
"Standard Microsystems",
- "37C665",
+ "FDC 37C665",
+ },
+ {
+ PCI_VENDOR_SYMPHONY, PCI_PRODUCT_SYMPHONY_82C101,
+ 0,
+ "Symphony Labs",
+ "82C101",
+ },
+ {
+ PCI_VENDOR_TEKRAM, PCI_PRODUCT_TEKRAM_DC290,
+ 0,
+ "Tekram Technology",
+ "DC290",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9320,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9320",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9420,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9420",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9440,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9440",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9660,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9660",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9680,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9680",
+ },
+ {
+ PCI_VENDOR_TRIDENT, PCI_PRODUCT_TRIDENT_TGUI_9682,
+ 0,
+ "Trident Microsystems",
+ "TGUI 9682",
},
{
- PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_W32P_A,
+ PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_ET4000_W32P_A,
0,
"Tseng Labs",
"ET4000w32p rev A",
},
{
- PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_W32P_D,
+ PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_ET4000_W32P_B,
+ 0,
+ "Tseng Labs",
+ "ET4000w32p rev B",
+ },
+ {
+ PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_ET4000_W32P_C,
+ 0,
+ "Tseng Labs",
+ "ET4000w32p rev C",
+ },
+ {
+ PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_ET4000_W32P_D,
0,
"Tseng Labs",
"ET4000w32p rev D",
},
{
+ PCI_VENDOR_TSENG, PCI_PRODUCT_TSENG_ET6000,
+ 0,
+ "Tseng Labs",
+ "ET6000",
+ },
+ {
PCI_VENDOR_UMC, PCI_PRODUCT_UMC_UM8673F,
0,
"United Microelectronics",
@@ -411,6 +807,90 @@ struct pci_knowndev pci_knowndevs[] = {
"UM8886F PCI-ISA bridge",
},
{
+ PCI_VENDOR_UMC, PCI_PRODUCT_UMC_UM8886A,
+ 0,
+ "United Microelectronics",
+ "UM8886A",
+ },
+ {
+ PCI_VENDOR_UMC, PCI_PRODUCT_UMC_UM8891A,
+ 0,
+ "United Microelectronics",
+ "UM8891A",
+ },
+ {
+ PCI_VENDOR_VIATECH, PCI_PRODUCT_VIATECH_82C505,
+ 0,
+ "VIA Technologies",
+ "82C505",
+ },
+ {
+ PCI_VENDOR_VIATECH, PCI_PRODUCT_VIATECH_ALT_82C505,
+ 0,
+ "VIA Technologies",
+ "82C505",
+ },
+ {
+ PCI_VENDOR_VIATECH, PCI_PRODUCT_VIATECH_82C576,
+ 0,
+ "VIA Technologies",
+ "82C576 3V",
+ },
+ {
+ PCI_VENDOR_VORTEX, PCI_PRODUCT_VORTEX_GDT_6000B,
+ 0,
+ "Vortex Computer Systems",
+ "GDT 6000b",
+ },
+ {
+ PCI_VENDOR_VLSI, PCI_PRODUCT_VLSI_82C592_FC1,
+ 0,
+ "VLSI Technology",
+ "82C592-FC1",
+ },
+ {
+ PCI_VENDOR_VLSI, PCI_PRODUCT_VLSI_82C593_FC1,
+ 0,
+ "VLSI Technology",
+ "82C593-FC1",
+ },
+ {
+ PCI_VENDOR_WEITEK, PCI_PRODUCT_WEITEK_P9000,
+ 0,
+ "Weitek",
+ "P9000",
+ },
+ {
+ PCI_VENDOR_WEITEK, PCI_PRODUCT_WEITEK_P9100,
+ 0,
+ "Weitek",
+ "P9100",
+ },
+ {
+ PCI_VENDOR_WINBOND, PCI_PRODUCT_WINBOND_W83769F,
+ 0,
+ "Winbond Electronics",
+ "W83769F",
+ },
+ {
+ PCI_VENDOR_ZEINET, PCI_PRODUCT_ZEINET_1221,
+ 0,
+ "Zeinet",
+ "1221",
+ },
+ {
+ PCI_VENDOR_CYCLADES, PCI_PRODUCT_CYCLADES_CYCLOMY_1,
+ 0,
+ "Cyclades",
+ "Cyclom-Y below 1M",
+ },
+ {
+ PCI_VENDOR_CYCLADES, PCI_PRODUCT_CYCLADES_CYCLOMY_2,
+ 0,
+ "Cyclades",
+ "Cyclom-Y above 1M",
+ },
+ {
PCI_VENDOR_CYCLADES, PCI_PRODUCT_CYCLADES_CYCLOMY_1,
0,
"Cyclades",
@@ -1401,12 +1881,6 @@ struct pci_knowndev pci_knowndevs[] = {
NULL,
},
{
- PCI_VENDOR_SYMPHONY, 0,
- PCI_KNOWNDEV_NOPROD,
- "Symphony Labs (or Winbond?)",
- NULL,
- },
- {
PCI_VENDOR_CORNERSTONE, 0,
PCI_KNOWNDEV_NOPROD,
"Cornerstone Technology",
@@ -1713,12 +2187,6 @@ struct pci_knowndev pci_knowndevs[] = {
NULL,
},
{
- PCI_VENDOR_TEKRAM, 0,
- PCI_KNOWNDEV_NOPROD,
- "Tekram Technology",
- NULL,
- },
- {
PCI_VENDOR_APTIX, 0,
PCI_KNOWNDEV_NOPROD,
"Aptix Corporation",
@@ -1937,7 +2405,7 @@ struct pci_knowndev pci_knowndevs[] = {
{
PCI_VENDOR_VIATECH, 0,
PCI_KNOWNDEV_NOPROD,
- "Via Technologies",
+ "VIA Technologies",
NULL,
},
{
@@ -2547,15 +3015,21 @@ struct pci_knowndev pci_knowndevs[] = {
NULL,
},
{
- PCI_VENDOR_SYMPHONY2, 0,
+ PCI_VENDOR_ZEINET, 0,
PCI_KNOWNDEV_NOPROD,
- "Symphony (duplicate? see 0x10ad)",
+ "Zeinet",
NULL,
},
{
- PCI_VENDOR_TEKRAM2, 0,
+ PCI_VENDOR_SYMPHONY, 0,
PCI_KNOWNDEV_NOPROD,
- "Tekram (mistyped? see 0x10e1)",
+ "Symphony Labs",
+ NULL,
+ },
+ {
+ PCI_VENDOR_TEKRAM, 0,
+ PCI_KNOWNDEV_NOPROD,
+ "Tekram Technology",
NULL,
},
{
diff --git a/sys/dev/pci/pcireg.h b/sys/dev/pci/pcireg.h
index d989402bc15..90c3a42d574 100644
--- a/sys/dev/pci/pcireg.h
+++ b/sys/dev/pci/pcireg.h
@@ -1,9 +1,9 @@
-/* $OpenBSD: pcireg.h,v 1.4 1996/10/31 03:29:11 millert Exp $ */
-/* $NetBSD: pcireg.h,v 1.7 1996/03/27 04:08:27 cgd Exp $ */
+/* $OpenBSD: pcireg.h,v 1.5 1996/11/28 23:28:13 niklas Exp $ */
+/* $NetBSD: pcireg.h,v 1.11 1996/08/10 15:42:33 mycroft Exp $ */
/*
* Copyright (c) 1995, 1996 Christopher G. Demetriou. All rights reserved.
- * Copyright (c) 1994 Charles Hannum. All rights reserved.
+ * Copyright (c) 1994, 1996 Charles Hannum. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -223,10 +223,14 @@ typedef u_int8_t pci_revision_t;
#define PCI_MAPREG_MEM_ADDR(mr) \
((mr) & PCI_MAPREG_MEM_ADDR_MASK)
+#define PCI_MAPREG_MEM_SIZE(mr) \
+ (PCI_MAPREG_MEM_ADDR(mr) & -PCI_MAPREG_MEM_ADDR(mr))
#define PCI_MAPREG_MEM_ADDR_MASK 0xfffffff0
#define PCI_MAPREG_IO_ADDR(mr) \
((mr) & PCI_MAPREG_IO_ADDR_MASK)
+#define PCI_MAPREG_IO_SIZE(mr) \
+ (PCI_MAPREG_IO_ADDR(mr) & -PCI_MAPREG_IO_ADDR(mr))
#define PCI_MAPREG_IO_ADDR_MASK 0xfffffffe
/*
diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h
index e674d904e93..ffdf225dc56 100644
--- a/sys/dev/pci/pcivar.h
+++ b/sys/dev/pci/pcivar.h
@@ -1,5 +1,5 @@
-/* $OpenBSD: pcivar.h,v 1.8 1996/11/12 20:30:59 niklas Exp $ */
-/* $NetBSD: pcivar.h,v 1.15 1996/03/28 02:16:23 cgd Exp $ */
+/* $OpenBSD: pcivar.h,v 1.9 1996/11/28 23:28:14 niklas Exp $ */
+/* $NetBSD: pcivar.h,v 1.16 1996/10/21 22:56:57 thorpej Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All rights reserved.
@@ -42,7 +42,7 @@
* provided by pci_machdep.h.
*/
-#include <machine/bus.old.h>
+#include <machine/bus.h>
#include <dev/pci/pcireg.h>
/*
@@ -68,8 +68,9 @@ ERROR: COMPILING FOR UNSUPPORTED MACHINE, OR MORE THAN ONE.
* PCI bus attach arguments.
*/
struct pcibus_attach_args {
- char *pba_busname; /* XXX should be common */
- bus_chipset_tag_t pba_bc; /* XXX should be common */
+ char *pba_busname; /* XXX should be common */
+ bus_space_tag_t pba_iot; /* pci i/o space tag */
+ bus_space_tag_t pba_memt; /* pci mem space tag */
pci_chipset_tag_t pba_pc;
int pba_bus; /* PCI bus number */
@@ -86,7 +87,8 @@ struct pcibus_attach_args {
* PCI device attach arguments.
*/
struct pci_attach_args {
- bus_chipset_tag_t pa_bc;
+ bus_space_tag_t pa_iot; /* pci i/o space tag */
+ bus_space_tag_t pa_memt; /* pci mem space tag */
pci_chipset_tag_t pa_pc;
u_int pa_device;
@@ -127,10 +129,10 @@ struct pci_attach_args {
* Configuration space access and utility functions. (Note that most,
* e.g. make_tag, conf_read, conf_write are declared by pci_machdep.h.)
*/
-int pci_io_find __P((pci_chipset_tag_t, pcitag_t, int, bus_io_addr_t *,
- bus_io_size_t *));
-int pci_mem_find __P((pci_chipset_tag_t, pcitag_t, int, bus_mem_addr_t *,
- bus_mem_size_t *, int *));
+int pci_io_find __P((pci_chipset_tag_t, pcitag_t, int, bus_addr_t *,
+ bus_size_t *));
+int pci_mem_find __P((pci_chipset_tag_t, pcitag_t, int, bus_addr_t *,
+ bus_size_t *, int *));
/*
* Helper functions for autoconfiguration.
diff --git a/sys/dev/pci/ppb.c b/sys/dev/pci/ppb.c
index 09a8b969cec..f0d59e71774 100644
--- a/sys/dev/pci/ppb.c
+++ b/sys/dev/pci/ppb.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ppb.c,v 1.4 1996/11/23 21:47:06 kstailey Exp $ */
-/* $NetBSD: ppb.c,v 1.8 1996/05/03 17:33:51 christos Exp $ */
+/* $OpenBSD: ppb.c,v 1.5 1996/11/28 23:28:14 niklas Exp $ */
+/* $NetBSD: ppb.c,v 1.12 1996/10/21 22:57:00 thorpej Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All rights reserved.
@@ -120,7 +120,8 @@ ppbattach(parent, self, aux)
* Attach the PCI bus than hangs off of it.
*/
pba.pba_busname = "pci";
- pba.pba_bc = pa->pa_bc;
+ pba.pba_iot = pa->pa_iot;
+ pba.pba_memt = pa->pa_memt;
pba.pba_pc = pc;
pba.pba_bus = PPB_BUSINFO_SECONDARY(busdata);
pba.pba_intrswiz = pa->pa_intrswiz;