diff options
author | 2005-07-21 09:47:57 +0000 | |
---|---|---|
committer | 2005-07-21 09:47:57 +0000 | |
commit | 34dd65ffa97f2372fbabbe3328259f410be567f7 (patch) | |
tree | c0188372d1fdae7917d464ce6a3836b4ee6b60f0 | |
parent | regen (diff) | |
download | wireguard-openbsd-34dd65ffa97f2372fbabbe3328259f410be567f7.tar.xz wireguard-openbsd-34dd65ffa97f2372fbabbe3328259f410be567f7.zip |
ICH7 IDE/SATA support based diff from Marcello Balduccini in
NetBSD PR 30795. ok grange@
-rw-r--r-- | distrib/notes/amd64/hardware | 4 | ||||
-rw-r--r-- | distrib/notes/cats/hardware | 4 | ||||
-rw-r--r-- | distrib/notes/i386/hardware | 4 | ||||
-rw-r--r-- | share/man/man4/pciide.4 | 4 | ||||
-rw-r--r-- | sys/dev/pci/pciide.c | 39 |
5 files changed, 38 insertions, 17 deletions
diff --git a/distrib/notes/amd64/hardware b/distrib/notes/amd64/hardware index 470dab2d0e3..20d78b708bc 100644 --- a/distrib/notes/amd64/hardware +++ b/distrib/notes/amd64/hardware @@ -1,4 +1,4 @@ -dnl $OpenBSD: hardware,v 1.48 2005/06/28 13:46:21 martin Exp $ +dnl $OpenBSD: hardware,v 1.49 2005/07/21 09:47:57 jsg Exp $ OpenBSD/MACHINE OSREV should work on all Athlon 64-based and compatible designs. @@ -32,7 +32,7 @@ dnl YENTA-compatible PCI-CardBus bridges (RAID mode is not supported) Intel PIIX, PIIX3, and PIIX4 Intel 82801 (ICH/ICH0/ICH2/ICH3/ICH4/ICH4-M/ICH5/ICH5R/ - ICH6/ICH6M/ICH6R) + ICH6/ICH6M/ICH6R/ICH7) Intel 6300ESB ITE IT8212F (RAID mode is not supported) National Semiconductor PC87415 diff --git a/distrib/notes/cats/hardware b/distrib/notes/cats/hardware index 1a4b1469945..7d7f417a121 100644 --- a/distrib/notes/cats/hardware +++ b/distrib/notes/cats/hardware @@ -1,4 +1,4 @@ -dnl $OpenBSD: hardware,v 1.21 2005/04/20 01:01:49 jsg Exp $ +dnl $OpenBSD: hardware,v 1.22 2005/07/21 09:47:57 jsg Exp $ OpenBSD/MACHINE runs on the Chalice/Simtec StrongARM 110 Evaluation Board. Supported devices {:-include-:}: @@ -12,7 +12,7 @@ Supported devices {:-include-:}: (RAID mode is not supported) Intel PIIX, PIIX3, and PIIX4 Intel 82801 (ICH/ICH0/ICH2/ICH3/ICH4/ICH4-M/ICH5/ICH5R/ - ICH6/ICH6M/ICH6R) + ICH6/ICH6M/ICH6R/ICH7) Intel 6300ESB National Semiconductor PC87415 NVIDIA nForce/nForce2 diff --git a/distrib/notes/i386/hardware b/distrib/notes/i386/hardware index efcbd4dac4d..223b1b534c7 100644 --- a/distrib/notes/i386/hardware +++ b/distrib/notes/i386/hardware @@ -1,4 +1,4 @@ -dnl $OpenBSD: hardware,v 1.203 2005/06/28 13:46:21 martin Exp $ +dnl $OpenBSD: hardware,v 1.204 2005/07/21 09:47:57 jsg Exp $ OpenBSD/MACHINE OSREV works across a broad range of standard PCs and clones, with a wide variety of processors and I/O bus architectures. It can be expected to install and run with minimal difficulties on most @@ -75,7 +75,7 @@ Supported hardware {:-include-:}: (RAID mode is not supported) Intel PIIX, PIIX3, and PIIX4 Intel 82801 (ICH/ICH0/ICH2/ICH3/ICH4/ICH4-M/ICH5/ICH5R/ - ICH6/ICH6M/ICH6R) + ICH6/ICH6M/ICH6R/ICH7) Intel 6300ESB ITE IT8212F (RAID mode is not supported) National Semiconductor PC87415 diff --git a/share/man/man4/pciide.4 b/share/man/man4/pciide.4 index 673be168fef..f5dee0e29d2 100644 --- a/share/man/man4/pciide.4 +++ b/share/man/man4/pciide.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: pciide.4,v 1.50 2005/06/15 04:49:11 fgsch Exp $ +.\" $OpenBSD: pciide.4,v 1.51 2005/07/21 09:47:57 jsg Exp $ .\" $NetBSD: pciide.4,v 1.8 1999/03/16 01:19:17 garbled Exp $ .\" .\" Copyright (c) 1998 Manuel Bouyer. @@ -80,7 +80,7 @@ HighPoint HPT366, HPT370, HPT372, HPT302, HPT371, HPT374 .It Intel PIIX, PIIX3, and PIIX4 .It -Intel 82801 (ICH/ICH0/ICH2/ICH3/ICH4/ICH4-M/ICH5/ICH5R/ICH6/ICH6M/ICH6R) +Intel 82801 (ICH/ICH0/ICH2/ICH3/ICH4/ICH4-M/ICH5/ICH5R/ICH6/ICH6M/ICH6R/ICH7) .It Intel 6300ESB .It diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index b58b716e8cd..1349ec3f769 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.197 2005/07/09 09:45:21 ho Exp $ */ +/* $OpenBSD: pciide.c,v 1.198 2005/07/21 09:47:57 jsg Exp $ */ /* $NetBSD: pciide.c,v 1.127 2001/08/03 01:31:08 tsutsui Exp $ */ /* @@ -392,6 +392,14 @@ const struct pciide_product_desc pciide_intel_products[] = { { PCI_PRODUCT_INTEL_82801FR_SATA, /* Intel 82801FR (ICH6R) SATA */ IDE_PCI_CLASS_OVERRIDE, piix_chip_map + }, + { PCI_PRODUCT_INTEL_82801GB_IDE, /* Intel 82801GB (ICH7) IDE */ + IDE_PCI_CLASS_OVERRIDE, + piix_chip_map + }, + { PCI_PRODUCT_INTEL_82801GB_SATA_1, /* Intel 82801GB (ICH7) SATA */ + IDE_PCI_CLASS_OVERRIDE, + piix_chip_map } }; @@ -1863,6 +1871,8 @@ piix_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) case PCI_PRODUCT_INTEL_82801FBM_IDE: case PCI_PRODUCT_INTEL_82801FB_SATA: case PCI_PRODUCT_INTEL_82801FR_SATA: + case PCI_PRODUCT_INTEL_82801GB_IDE: + case PCI_PRODUCT_INTEL_82801GB_SATA_1: sc->sc_wdcdev.cap |= WDC_CAPABILITY_UDMA; break; } @@ -1889,6 +1899,8 @@ piix_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) case PCI_PRODUCT_INTEL_82801FBM_IDE: case PCI_PRODUCT_INTEL_82801FB_SATA: case PCI_PRODUCT_INTEL_82801FR_SATA: + case PCI_PRODUCT_INTEL_82801GB_IDE: + case PCI_PRODUCT_INTEL_82801GB_SATA_1: sc->sc_wdcdev.UDMA_cap = 5; break; default: @@ -1900,7 +1912,8 @@ piix_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_SATA || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1) { sc->sc_wdcdev.cap |= WDC_CAPABILITY_SATA; sc->sc_wdcdev.set_modes = sata_setup_channel; } else if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82371FB_IDE) { @@ -1918,7 +1931,8 @@ piix_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_SATA || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA) + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1) goto chansetup; WDCDEBUG_PRINT(("piix_setup_chip: old idetim=0x%x", @@ -1944,7 +1958,8 @@ piix_chip_map(struct pciide_softc *sc, struct pci_attach_args *pa) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_IDE) { WDCDEBUG_PRINT((", IDE_CONTROL 0x%x", pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)), DEBUG_PROBE); @@ -1961,7 +1976,9 @@ chansetup: if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_SATA || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801ER_SATA || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_SATA || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA || + sc->sc_pp->ide_product == + PCI_PRODUCT_INTEL_82801GB_SATA_1) { if (pciide_chansetup(sc, channel, interface) == 0) continue; pciide_mapchan(pa, cp, interface, &cmdsize, &ctlsize, @@ -2008,7 +2025,8 @@ next: sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_SATA2 || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_SATA || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA) + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FR_SATA || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1) return; WDCDEBUG_PRINT(("piix_setup_chip: idetim=0x%x", @@ -2034,7 +2052,8 @@ next: sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_IDE) { WDCDEBUG_PRINT((", IDE_CONTROL 0x%x", pci_conf_read(sc->sc_pc, sc->sc_tag, PIIX_CONFIG)), DEBUG_PROBE); @@ -2201,7 +2220,8 @@ piix3_4_setup_channel(struct channel_softc *chp) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_IDE) { ideconf |= PIIX_CONFIG_PINGPONG; } if (sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801BAM_IDE || @@ -2213,7 +2233,8 @@ piix3_4_setup_channel(struct channel_softc *chp) sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801EB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_6300ESB_IDE || sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FB_IDE || - sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801FBM_IDE || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_IDE) { /* setup Ultra/100 */ if (drvp->UDMA_mode > 2 && (ideconf & PIIX_CONFIG_CR(channel, drive)) == 0) |