[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
macppc wdc patch
IDE ハードディスクのタイミングをいじってみました。これちゃんと動く
でしょうか。このパッチをあてた上で DMA を有効にしてみてください。
DMA を有効にするには
wdc* at obio? flags 0x1
のように flags に 1 を立てます。
なお、ディスクが DMA mode 2 以上に対応しているのが前提です。
私のところでは dd if=/dev/rwd0a ... の結果が1桁速くなりました。
ディスクにもよるでしょうが、
PowerBook G3/400 で 9MB/sec
Power Macintosh G4 なら 14MB/sec
ぐらい。
*** wdc_obio.c~ Sat Jan 22 03:45:14 2000
--- wdc_obio.c Tue Feb 8 02:15:45 2000
***************
*** 184,189 ****
--- 184,191 ----
}
wdcattach(chp);
+
+ change_timing(ca);
}
int
***************
*** 285,287 ****
--- 287,308 ----
dbdma_stop(sc->sc_dmareg);
return 0;
}
+
+ int
+ change_timing(ca)
+ struct confargs *ca;
+ {
+ u_int32_t x;
+ char *addr = (char *)ca->ca_baseaddr + ca->ca_reg[0] + 0x200;
+
+ x = in32rb(addr);
+
+ /* printf("OLD value 0x%x\n", x); */
+ x &= 0x000007ff;
+ x |= 0x00211000;
+ /* printf("NEW value 0x%x\n", x); */
+
+ out32rb(addr, x);
+
+ return 0;
+ }
# 下位ビットは意味不明なのでさわってないけどいいのかなー。:-)