vine-users ML アーカイブ



[vine-users:073040] Re: INTEL ICH7R のP-ATAで DMAがONに出 来ない(ほぼ 解決)

  • From: "suehiko takahashi" <suebo@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:073040] Re: INTEL ICH7R のP-ATAで DMAがONに出 来ない(ほぼ 解決)
  • Date: Tue, 04 Oct 2005 09:25:29 +0900
高橋です

DELL PowerEdge SC430でP-ATAがDMAにならない件は"一応"解決しました。
チップセットICH7RがカーネルのデバイスIDに含まれていない為、チップセットを
特定できずにDMA ONにならないようでしたので
下記のように修正しカーネル作成後にブート画面でDMAがONになっている事を確認しました。

一応と書いたのはカーネルがパニック起こしてログインまで行かないんですよね・・・
カーネルのコンフィグ間違ってるようで、今度はS-ATAが認識できずにブート失敗します。
その件は私の経験不足だと思われますので確認&再挑戦、もしくは再度MLに投稿するかも知れません。

以下、修正差分です

--- pci_ids.h_org	2005-07-24 14:36:07.000000000 +0900
+++ pci_ids.h	2005-07-24 14:36:07.000000000 +0900
@@ -1961,6 +1961,8 @@
 #define PCI_DEVICE_ID_INTEL_ICH6_1	0x2641
 #define PCI_DEVICE_ID_INTEL_ICH6_2	0x266f
 #define PCI_DEVICE_ID_INTEL_ICH6_18	0x266e
+#define PCI_DEVICE_ID_INTEL_ICH7_0	0x27b8
+#define PCI_DEVICE_ID_INTEL_ICH7_2	0x27df
 #define PCI_DEVICE_ID_INTEL_82850_HB	0x2530
 #define PCI_DEVICE_ID_INTEL_82845G_HB	0x2560
 #define PCI_DEVICE_ID_INTEL_SMCH	0x3590



--- piix.h_org	2005-07-24 14:36:09.000000000 +0900
+++ piix.h	2005-07-24 14:36:08.000000000 +0900
@@ -333,8 +333,22 @@
 		.enablebits	= {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
 		.bootable	= ON_BOARD,
 		.extra		= 0,
-	},{
+	},{	/* 21 */
+		.vendor		= PCI_VENDOR_ID_INTEL,
+		.device		= PCI_DEVICE_ID_INTEL_ICH7_2,
+		.name		= "ICH7",
+		.init_setup	= init_setup_piix,
+		.init_chipset	= init_chipset_piix,
+		.init_iops	= NULL,
+		.init_hwif	= init_hwif_piix,
+		.init_dma	= init_dma_piix,
+		.channels	= 2,
+		.autodma	= AUTODMA,
+		.enablebits	= {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
+		.bootable	= ON_BOARD,
+		.extra		= 0,
+	},{
 		.device		= 0,
 		.channels	= 0,
 		.init_setup	= NULL,



--- piix.c_org	2005-07-24 14:36:08.000000000 +0900
+++ piix.c	2005-07-24 14:36:07.000000000 +0900
@@ -158,6 +158,7 @@
 			case PCI_DEVICE_ID_INTEL_82801E_11:
 			case PCI_DEVICE_ID_INTEL_ESB_2:
 			case PCI_DEVICE_ID_INTEL_ICH6_2:
+			case PCI_DEVICE_ID_INTEL_ICH7_2:
 				p += sprintf(p, "PIIX4 Ultra 100 ");
 				break;
 			case PCI_DEVICE_ID_INTEL_82372FB_1:
@@ -298,6 +299,7 @@
 		case PCI_DEVICE_ID_INTEL_82801EB_11:
 		case PCI_DEVICE_ID_INTEL_ESB_2:
 		case PCI_DEVICE_ID_INTEL_ICH6_2:
+		case PCI_DEVICE_ID_INTEL_ICH7_2:
 			mode = 3;
 			break;
 		/* UDMA 66 capable */
@@ -687,6 +689,7 @@
 		case PCI_DEVICE_ID_INTEL_82801E_11:
 		case PCI_DEVICE_ID_INTEL_ESB_2:
 		case PCI_DEVICE_ID_INTEL_ICH6_2:
+		case PCI_DEVICE_ID_INTEL_ICH7_2:
 		{
 			unsigned int extra = 0;
 			pci_read_config_dword(dev, 0x54, &extra);
@@ -886,6 +889,7 @@
 #endif
 	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19},
 	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 20},
+	{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 21},
 	{ 0, },
 };