[SeaBIOS] non-emulated AHCI hardware

Scott Duplichan scott at notabs.org
Mon Apr 25 20:32:45 CEST 2011


Scott Duplichan wrote:

]1) When booting a DOS drive, a disk read error occurs at some point
]after autoexec executes.

The revised patch (attached) overcomes this problem. It turns out in
the latter stage of booting, DOS makes a couple of INT13 read requests
with a buffer that is not word aligned. AHCI only supports word aligned
buffers. This was causing the data to be shifted by one byte for these
reads. The patch adds unaligned support for reads only, which is good
enough for the DOS boot problem. The method of this patch actually 
writes one byte beyond the end of the caller's buffer. But the only
OS seen to do this is DOS, so it may be good enough this way.

]2) DOS booting is slower by 100-200 ms. While that isn't much in
]absolute terms, it is a big percentage increase from the 642 ms I
]can get using the IDE interface.

Now AHCI DOS boot is slower than IDE DOS boot by only 40 ms, so
I am satisfied and have switched my project over to AHCI mode.

Thanks,
Scott
  

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ahci-002.patch
Type: application/octet-stream
Size: 5901 bytes
Desc: not available
URL: <http://www.seabios.org/pipermail/seabios/attachments/20110425/d483e55c/attachment.obj>


More information about the SeaBIOS mailing list