Hello!
I have added support for hard disk booting to the linux bios, but the resulting transfer rates are quite slow, at about 2 MB/s. I suggest data are transferred in PIO 0 mode. Now my questions is: How do I speed up transfers and how do I Linux get to know that a faster transfer can be used? So far I have done the following: - Configure the IDE controller with PIO 4 timings - Enable UDMA and set the UDMA mode to 2 in the IDE controller - Set the drive transfer mode to UDMA2 with the IDE Set Feature Command The transfer rate did not change. Trying to enable DMA with the hdparm command ("hdparm -d1 /dev/hda") failed with "HDIO_SET_DMA failed: Operation not permitted". Do you have any hints what else should be enabled or maybe where I have to put some information about the drive or IDE controller where Linux reads configuration information from? The IDE controller is part of the PIIX4 southbridge, the hard disk a quite new WD400: [root@cpu2 linux]# hdparm -i /dev/hda /dev/hda: Model=WDC WD400EB-00CPF0, FwRev=06.04G06, SerialNo=WD-WMAAT1247950 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq } RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=off CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=78165360 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5 Linux boot messages: Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx hda: WDC WD400EB-00CPF0, ATA DISK drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 hda: 78165360 sectors (40021 MB) w/2048KiB Cache, CHS=77545/16/63 thanks in advance.. Norbert