Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Aug 2006 23:02:56 -0400
From:      "Reed A. Cartwright" <reed@scit.us>
To:        freebsd-hackers@freebsd.org
Subject:   Patch for Intel 5000X hardware (ata and ichsmb)
Message-ID:  <44DFE7E0.5010801@scit.us>

next in thread | raw e-mail | index | archive | help
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.

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

-- 
*********************************************************
Reed A. Cartwright, PhD     http://scit.us/
Postdoctoral Researcher     http://www.dererumnatura.us/
Department of Genetics      http://www.pandasthumb.org/

Bioinformatics Research Center
North Carolina State University
Campus Box 7566
Raleigh, NC 27695-7566

Cuiusvis hominis est errare, nullius nisi
insipientis in errore perserverare. --Cicero



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44DFE7E0.5010801>