Index: sys/dev/pci/pciide.c =================================================================== RCS file: /cvs/src/sys/dev/pci/pciide.c,v retrieving revision 1.227 diff -u -r1.227 pciide.c --- sys/dev/pci/pciide.c 6 Mar 2006 19:32:18 -0000 1.227 +++ sys/dev/pci/pciide.c 26 Mar 2006 11:51:56 -0000 @@ -436,6 +436,10 @@ { PCI_PRODUCT_INTEL_82801GB_SATA_1, /* Intel 82801GB (ICH7) SATA */ IDE_PCI_CLASS_OVERRIDE, piix_chip_map + }, + { PCI_PRODUCT_INTEL_82801GBM_SATA, /* Intel 82801GBM (ICH7) SATA */ + IDE_PCI_CLASS_OVERRIDE, + piix_chip_map } }; @@ -2007,6 +2011,7 @@ case PCI_PRODUCT_INTEL_82801FR_SATA: case PCI_PRODUCT_INTEL_82801GB_IDE: case PCI_PRODUCT_INTEL_82801GB_SATA_1: + case PCI_PRODUCT_INTEL_82801GBM_SATA: sc->sc_wdcdev.cap |= WDC_CAPABILITY_UDMA; break; } @@ -2037,6 +2042,7 @@ case PCI_PRODUCT_INTEL_82801FR_SATA: case PCI_PRODUCT_INTEL_82801GB_IDE: case PCI_PRODUCT_INTEL_82801GB_SATA_1: + case PCI_PRODUCT_INTEL_82801GBM_SATA: sc->sc_wdcdev.UDMA_cap = 5; break; default: @@ -2049,7 +2055,8 @@ 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_82801GB_SATA_1) { + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1 || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GBM_SATA) { 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 || @@ -2069,7 +2076,8 @@ 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_82801GB_SATA_1) + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1 || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GBM_SATA) goto chansetup; WDCDEBUG_PRINT(("piix_setup_chip: old idetim=0x%x", @@ -2118,7 +2126,9 @@ 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_82801GB_SATA_1) { + PCI_PRODUCT_INTEL_82801GB_SATA_1 || + sc->sc_pp->ide_product == + PCI_PRODUCT_INTEL_82801GBM_SATA) { if (pciide_chansetup(sc, channel, interface) == 0) continue; pciide_mapchan(pa, cp, interface, &cmdsize, &ctlsize, @@ -2166,7 +2176,8 @@ 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_82801GB_SATA_1) + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GB_SATA_1 || + sc->sc_pp->ide_product == PCI_PRODUCT_INTEL_82801GBM_SATA) return; WDCDEBUG_PRINT(("piix_setup_chip: idetim=0x%x",