IDE Controller driver, ATA driver, MSDOS-like partition table support

Eugeny S. Mints Eugeny.Mints at
Fri Oct 11 11:25:48 UTC 2002

Hi, all!

Files atteched are patches for rtems-ss-20020628 and contain IDE
Controller driver and ATA Driver.

Brief documentation for both also attached. (files ata.t ide-ctrl.t)

IDE Controller driver implemented in libchip style. So to start using IDE
and ATA drivers on any real IDE chip you need to implement particular chip
IDE driver. I've attached an example (ide.tar.gz) which I used for testing,
but unfortunately I had non-general custom IDE chip implemented on FPGA, so
it can't be applied directly. In my source tree this 'ide' directory locates
in $RTEMS_SRC_ROOT/c/src/lib/libbsp/sh/mfd because I use custom board
(called mfd) based on sh4 CPU.

It should be noted that unfortunately there was little time for testing, so
I don't think the code is tested well. But I had many successful read/write
and ioctls on real hardware :)

It is recommended to apply the patches as follows:


cd $RTEMS_SRC_ROOT/c/src/exec;
patch -p12 -d libblock < libblock.patch.diff

cd $RTEMS_SRC_ROOT/c/src;
patch -p11 -d wrapup < wrapup.patch.diff

cd $RTEMS_SRC_ROOT/c/src;
patch -p11 -d libchip < libchip.patch.diff

THen traditional sequence:) - bootstrap, configure, make, make install

Patch to libblock library also contains support for MSDOS-like partition
written by Alexander Kukuta <kam at>. A brief overview is also

Of course :), I've already have several ideas how to improve ATA driver, but
ANY FEEDBACKS are highly appreciated, more over that I suspect a bug (but
unfortunately I havn't already caught it:( ) in ATA driver in interrupt mode.

Eugeny S. Mints
1 Ulianovskaya st., Petergof, St.Petersburg, 198904 Russia
Phone: +7(812)428-4384 Fax: +7(812)327-2246
mailto:Eugeny.Mints at

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ide-drv-ata-drv-dos-part.tar.gz
Type: application/x-gzip
Size: 33236 bytes
URL: <>

More information about the users mailing list