Patch for Intel 5000X hardware (ata and ichsmb)

Søren Schmidt sos at freebsd.org
Mon Aug 14 05:59:10 UTC 2006


Reed A. Cartwright wrote:
> Freebsd wouldn't recognize my hard drive contoler, so I modified a 
> patch I found on the "stable" list, adding all the device ids I found 
> in Intel's documentation.  Please add this to the stable or current 
> branch.
>
> Below is the patch, I made with respect to 6.1-Release-p3.  It works 
> with both i386 and amd64.
I have a bunch of new Intel ID's including this ESB2 and the new 
PATA-less ICH8, to appear shortly in -current..

-Søren
>
> Index: sys/dev/ata/ata-chipset.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
> retrieving revision 1.126.2.11
> diff -u -r1.126.2.11 ata-chipset.c
> --- sys/dev/ata/ata-chipset.c    16 Mar 2006 21:28:51 -0000    1.126.2.11
> +++ sys/dev/ata/ata-chipset.c    9 Aug 2006 20:28:30 -0000
> @@ -1595,6 +1595,11 @@
>       { ATA_I82801GB_R1, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
>       { ATA_I82801GB_M,  0, AHCI, 0x00, ATA_SA300, "ICH7" },
>       { ATA_I82801GB_AH, 0, AHCI, 0x00, ATA_SA300, "ICH7" },
> +     { ATA_I631xESB,    0,    0, 0x00, ATA_UDMA5, "631xESB" },
> +     { ATA_I631xESB_C1, 0,    0, 0x00, ATA_UDMA5, "631xESB" },
> +     { ATA_I631xESB_S1, 0, AHCI, 0x00, ATA_SA300, "631xESB" },
> +     { ATA_I631xESB_R1, 0, AHCI, 0x00, ATA_SA300, "631xESB" },
> +     { ATA_I631xESB_R2, 0, AHCI, 0x00, ATA_SA300, "631xESB" },
>       { ATA_I31244,      0,    0, 0x00, ATA_SA150, "31244" },
>       { 0, 0, 0, 0, 0, 0}};
>      char buffer[64];
> Index: sys/dev/ata/ata-pci.h
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/ata/ata-pci.h,v
> retrieving revision 1.49.2.8
> diff -u -r1.49.2.8 ata-pci.h
> --- sys/dev/ata/ata-pci.h    16 Mar 2006 21:28:51 -0000    1.49.2.8
> +++ sys/dev/ata/ata-pci.h    9 Aug 2006 20:28:30 -0000
> @@ -148,6 +148,11 @@
>  #define ATA_I82801FB_S1         0x26518086
>  #define ATA_I82801FB_R1         0x26528086
>  #define ATA_I82801FB_M          0x26538086
> +#define ATA_I631xESB_C1         0x26808086
> +#define ATA_I631xESB_S1         0x26818086
> +#define ATA_I631xESB_R1         0x26828086
> +#define ATA_I631xESB_R2         0x26838086
> +#define ATA_I631xESB            0x269e8086
>  #define ATA_I82801GB            0x27df8086
>  #define ATA_I82801GB_S1         0x27c08086
>  #define ATA_I82801GB_R1         0x27c38086
> Index: sys/dev/ichsmb/ichsmb_pci.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/ichsmb/ichsmb_pci.c,v
> retrieving revision 1.16.2.1
> diff -u -r1.16.2.1 ichsmb_pci.c
> --- sys/dev/ichsmb/ichsmb_pci.c    19 Aug 2005 18:38:55 -0000    1.16.2.1
> +++ sys/dev/ichsmb/ichsmb_pci.c    9 Aug 2006 20:28:31 -0000
> @@ -74,6 +74,7 @@
>  #define ID_82801DC            0x24C38086
>  #define ID_82801EB            0x24D38086
>  #define ID_6300ESB            0x25a48086
> +#define ID_631xESB            0x269b8086
>
>  #define PCIS_SERIALBUS_SMBUS_PROGIF    0x00
>
> @@ -146,6 +147,9 @@
>      case ID_6300ESB:
>          device_set_desc(dev, "Intel 6300ESB (ICH) SMBus controller");
>          break;
> +    case ID_631xESB:
> +        device_set_desc(dev, "Intel 631xESB (ESB2) SMBus controller");
> +        break;
>      default:
>          if (pci_get_class(dev) == PCIC_SERIALBUS
>              && pci_get_subclass(dev) == PCIS_SERIALBUS_SMBUS
>



More information about the freebsd-hackers mailing list