1 名前:名無しさん@お腹いっぱい。 [2007/02/13(火) 12:04:09 ] FreeBSD/amd64を取り扱うスレです。 (対象となるCPUは AMD Opteron/Athlon64/ 64bit対応のSempron Intel Core 2 Duo/EM64T対応の Xeon ,Pentium ,Celeron など ) なお、本スレは2ch次世代向け実験鯖のためのスレでもあります。 2ch特化型サーバ・ロケーション構築作戦 Part24 qb5.2ch.net/test/read.cgi/operate/1166543133/ なにか情報などがありましたらお願いします。 root★さんが喜ぶでしょう。 前スレ FreeBSD for AMD64(and for oyster901) pc10.2ch.net/test/read.cgi/unix/1075691732/
119 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 03:13:38 ] SB600のUDMA100化出来ました。 環境はSISの構成にMBを「Asus M2A-VM」に置き換えただけの構成です。 SATAの設定はIDEモードとなっております。 1: /usr/src/sys/dev/ata/ata-pci.h 内のファイルをテキストエディタで、「/* SB600SATA */」、「/* SB600PATA */」 とコメントされた2行を追加する。 ata-pci.hの一部抜粋 ################################################################# #define ATA_ATI_IXP400_S1 0x43791002 #define ATA_ATI_IXP400_S2 0x437a1002 #define ATA_ATI_IXP600_S 0x43801002 /* SB600SATA */ #define ATA_ATI_IXP600_P 0x438c1002 /* SB600PATA */ ################################################################## デバイスIDはパラレルとシリアルで別々に存在していました。 2: /usr/src/sys/dev/ata/ata-chipset.c も同様に2行を追加する ata-chipset.cの一部抜粋 ###################################################################### { ATA_ATI_IXP400_S1, 0x00, SIIMEMIO, 0, ATA_SA150, "IXP400" }, { ATA_ATI_IXP400_S2, 0x00, SIIMEMIO, 0, ATA_SA150, "IXP400" }, { ATA_ATI_IXP600_S, 0x00, 0, 0, ATA_UDMA6, "IXP600S"}, /* SB600SATA */ { ATA_ATI_IXP600_P, 0x00, 0, 0, ATA_UDMA5, "IXP600P"}, /* SB600PATA */ { 0, 0, 0, 0, 0, 0}}; char buffer[64]; ###################################################################### あ、UDMA133になってる...。
120 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 03:15:13 ] 3: /usr/src/sys/dev/ata/ata-chipset.c 内で、「ata_ati_setmode(device_t dev, int mode)」というATIチップのDMAモードをセットする 関数があるので、この中の「mode = ata_check_80pin(dev, mode);」を 削除、またはコメントアウトする ######################################################################## static void ata_ati_setmode(device_t dev, int mode) { device_t gparent = GRANDPARENT(dev); struct ata_pci_controller *ctlr = device_get_softc(gparent); struct ata_channel *ch = device_get_softc(device_get_parent(dev)); struct ata_device *atadev = device_get_softc(dev); int devno = (ch->unit << 1) + ATA_DEV(atadev->unit); int offset = (devno ^ 0x01) << 3; int error; u_int8_t piotimings[] = { 0x5d, 0x47, 0x34, 0x22, 0x20, 0x34, 0x22, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 }; u_int8_t dmatimings[] = { 0x77, 0x21, 0x20 }; mode = ata_limit_mode(dev, mode, ctlr->chip->max_dma); /* mode = ata_check_80pin(dev, mode); <-----この1行を削除 */ error = ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode); if (bootverbose) #########################################################################
121 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/05/20(日) 03:16:41 ] 4: カーネルをビルドしてインストール 以上です、そしてインストール、再起動したあとのdmesgの抜粋です。 ################################################################# atapci0: <ATI IXP600S UDMA133 controller> port 0xff00-0xff07,0xfe00-0xfe03,0xfd00-0xfd07,0xfc00-0xfc03,0xfb00-0xfb0f mem 0xfe02f000-0xfe02f3ff irq 22 at device 18.0 on pci0 ata2: <ATA channel 0> on atapci0 ata3: <ATA channel 1> on atapci0 atapci1: <ATI IXP600P UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf900-0xf90f at device 20.1 on pci0 ata0: <ATA channel 0> on atapci1 ata1: <ATA channel 1> on atapci1 acd0: CDRW <TOSHIBA DVD-ROM SD-R1202/1020> at ata0-slave UDMA33 ad4: 157066MB <HDS722516VLSA80 V34OA6MA> at ata2-master UDMA100 ad5: 156334MB <Maxtor 6Y160M0 YAR51EW0> at ata2-slave UDMA133 ################################################################## ということでSB600もUDMA100にすることが出来ました。 あと、この間さらしたSIS手順の時、ディレクトリを間違えてました。すみません。 また、以前の手順も同様にCVSUPをすると、ソースが上書きされますので、 CVSUPをしたら毎回この手順が必要となりますのでご注意ください。