diff options
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; |