diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-11-28 23:28:18 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1996-11-28 23:28:18 +0000 |
commit | 1c7998136960f5cd78adc56dff1c8f9352da3445 (patch) | |
tree | 6b334b57971c98fdbe305b8359ae1097b753f699 /sys/dev/pci | |
parent | 1044779b3ae9b633aece0922893e08ff6efc74c0 (diff) |
Adaption to new bus.h from NetBSD. Various driver has been updated to
NetBSD 961107 state. Other has not, partly because sometimes the bus.h
changes was coupled with other changes.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/ahc_pci.c | 51 | ||||
-rw-r--r-- | sys/dev/pci/cy_pci.c | 44 | ||||
-rw-r--r-- | sys/dev/pci/files.pci | 43 | ||||
-rw-r--r-- | sys/dev/pci/if_de.c | 86 | ||||
-rw-r--r-- | sys/dev/pci/if_ep_pci.c | 45 | ||||
-rw-r--r-- | sys/dev/pci/if_fpa.c | 39 | ||||
-rw-r--r-- | sys/dev/pci/if_le_pci.c | 37 | ||||
-rw-r--r-- | sys/dev/pci/if_levar.h | 6 | ||||
-rw-r--r-- | sys/dev/pci/ncr.c | 88 | ||||
-rw-r--r-- | sys/dev/pci/pci.c | 24 | ||||
-rw-r--r-- | sys/dev/pci/pci_subr.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/pcidevs | 229 | ||||
-rw-r--r-- | sys/dev/pci/pcidevs.h | 219 | ||||
-rw-r--r-- | sys/dev/pci/pcidevs_data.h | 604 | ||||
-rw-r--r-- | sys/dev/pci/pcireg.h | 10 | ||||
-rw-r--r-- | sys/dev/pci/pcivar.h | 22 | ||||
-rw-r--r-- | sys/dev/pci/ppb.c | 7 |
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; |