[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: G4/800 Dual (20011220 and MP)
> 千葉市中央区長洲
> 藤原 誠
>X11R6-2002-01-23.tar.gz を入れて見たのですが、
椿井さん> これで動くはずなんですけどねー。ただし最初の一回だけ。:-)
良く分らないので、最後に付けたような debug print を入れて見て、
二台の機械で比べて見ました。どうもそこから先の調べ方に詰って
いるので、情報が少ないのですが、何か分るでしょうかと、書いて
見ます。X401 に 20020123 の patch を当てて、
20011016 userland + 20011220 の上で compile しています。
compile した機械と、以下のように実行した機械は同じではない
こともあります。確か下の例は (1) で compile したもののはずです。
(1)
G4/400 AGP 20011016 userland + 20011220
(--) PCI: (0:16:0) ATI Rage 128 Pro PF rev 0, Mem @ 0x94000000/26, 0x90000000/14
, I/O @ 0x0400/8
(2)
G4/800 Dual 20011016 userland + 20011220 or 20020214
(--) PCI: (0:16:0) NVidia unknown chipset (0x0110) rev 178, Mem @ 0x91000000/24, 0x98000000/27
(1) の場合、..chipset が見つかって問題なく動く
(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:0b:0: chip 106b,0020 card 0000,0000 rev 00 class 06,00,00 hdr 00
(II) PCI: 00:10:0: chip 1002,5046 card 0000,0000 rev 00 class 03,00,00 hdr 00
(II) PCI: End of PCI scan
(II) (0)Vendorname(ATI) info->vendor(1002)
(II) (1) VendorID(003d)
(II) (2) VendorID(003d)i(0)
(II) (2) VendorID(0e11)i(1)
(II) (2) VendorID(1000)i(2)
(II) (2) VendorID(1002)i(3) .... 一致したので次に行っている ?
(II) (3) i(3) j(0) DeviceID(4158) DeviceName(Mach32)
.....(中略)
(II) (3) i(3) j(38) DeviceID(4d4c) DeviceName(Rage 128 Mobility ML)
(II) (3) i(3) j(39) DeviceID(5044) DeviceName(Rage 128 Pro PD)
(II) (3) i(3) j(40) DeviceID(5046) DeviceName(Rage 128 Pro PF)
(--) PCI: (0:16:0) ATI Rage 128 Pro PF rev 0, Mem @ 0x94000000/26, 0x90000000/14, I/O @ 0x0400/8
(II) Addressable bus resource ranges are
(2) の場合、(中略なし) .. chipset が見つからないので動かない
(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:0b:0: chip 106b,002d card 0000,0000 rev 00 class 06,00,00 hdr 00
(II) PCI: 00:10:0: chip 10de,0110 card 10de,0002 rev b2 class 03,00,00 hdr 00
(II) PCI: End of PCI scan
(II) (0)Vendorname(NVidia) info->vendor(10de)
(II) (1) VendorID(003d)
(II) (2) VendorID(003d)i(0)
(II) (2) VendorID(0e11)i(1)
(II) (2) VendorID(1000)i(2)
(II) (2) VendorID(1002)i(3)
(II) (2) VendorID(524c)i(4) ..... 一致していないのに途中で止めてしまっている ?
(--) PCI: (0:16:0) NVidia unknown chipset (0x0110) rev 178, Mem @ 0x91000000/24, 0x98000000/27
(II) Addressable bus resource ranges are
xc/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
の ATI の次は VLSI で 1004 のはずなのに 524c となっているのは ?
#ifdef INIT_PCI_VENDOR_NAME_INFO
static SymTabRec xf86PCIVendorNameInfoData[] = {
{PCI_VENDOR_REAL3D, "Real 3D"},
{PCI_VENDOR_COMPAQ, "Compaq"},
{PCI_VENDOR_NCR_1, "NCR"},
{PCI_VENDOR_ATI, "ATI"},
{PCI_VENDOR_VLSI, "VLSI"},
{PCI_VENDOR_AVANCE, "Avance Logic"},
そうか X のせいではなくてそれ以外(CPU とか)の要因なのでしょうか ?
---
(藤原)
--- xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c.orig Wed Jun 21 10:23:12 2000
+++ xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c Sun Feb 24 21:40:24 2002
@@ -320,15 +320,20 @@
i = 0;
info = xf86PciVideoInfo[k];
while (xf86PCIVendorNameInfo[i].token) {
- if (xf86PCIVendorNameInfo[i].token == info->vendor)
+ if (xf86PCIVendorNameInfo[i].token == info->vendor) {
vendorname = (char *)xf86PCIVendorNameInfo[i].name;
+ xf86MsgVerb(X_INFO, 3, "(0)Vendorname(%s) info->vendor(%04x)\n",vendorname,info->vendor); }
i++;
}
i = 0;
+ xf86MsgVerb(X_INFO, 3, "(1) VendorID(%04x)\n", xf86PCIVendorInfo[i].VendorID);
while(xf86PCIVendorInfo[i].VendorID) {
+ xf86MsgVerb(X_INFO, 3, "(2) VendorID(%04x)i(%d)\n", xf86PCIVendorInfo[i].VendorID,i);
if (xf86PCIVendorInfo[i].VendorID == info->vendor) {
j = 0;
while (xf86PCIVendorInfo[i].Device[j].DeviceName) {
+ xf86MsgVerb(X_INFO, 3, "(3) i(%d) j(%d) DeviceID(%04x) DeviceName(%s)\n",i,j,
+ xf86PCIVendorInfo[i].Device[j].DeviceID,xf86PCIVendorInfo[i].Device[j].DeviceName);
if (xf86PCIVendorInfo[i].Device[j].DeviceID ==
info->chipType) {
chipname =