Problem with ATA driver on pc386
Angelo Fraietta
afraiett at bigpond.net.au
Wed Jul 21 01:46:48 UTC 2004
Angelo Fraietta wrote:
>
> I changed the conditionals on the 2 do - while loops to include
>
> ata_process_request_on_init_phase(rtems_device_minor_number ctrl_minor,
> ata_req_t *areq)
> {
> unsigned16 byte;/* emphasize that only 8 low bits is
> meaningful */
> <snip>
> do {
> ide_controller_read_register(ctrl_minor, IDE_REGISTER_STATUS,
> &byte);
> printk("Start ide_controller_read_register 1 Byte =
> %x\r\n", byte);
> } while (((byte & IDE_REGISTER_STATUS_BSY) ||
> (!(byte & IDE_REGISTER_STATUS_DRDY))) && !(byte &
> IDE_REGISTER_STATUS_DRDY));
> <snip>
> do {
> ide_controller_read_register(ctrl_minor, IDE_REGISTER_STATUS,
> &byte);
> printk("Start ide_controller_read_register 2 Byte =
> %x\r\n", byte);
> } while ((byte & IDE_REGISTER_STATUS_BSY)&& !(byte &
> IDE_REGISTER_STATUS_DRDY));
>
> This stopped from freezing. This however, was on the DIMMPC with the On
> Board IDE enabled. When I plugged the PC104 in, the first one looped
> indefinately with a byte value of 0. I disabled the primary IDE port in
> the bios, which gave me the result as per the DIMMPC - Byte returns zero.
>
> In performing theses tests, I beliee that the secondary IDE port is not
> tested. Am I correct? If so, what would I need to do to test and mount it?
>
I also found that the changes that I made also prevented the Primary
Master from loading, so these changes don't work
--
Angelo Fraietta
PO Box 859
Hamilton NSW 2303
Home Page
http://www.users.bigpond.com/angelo_f/
There are those who seek knowledge for the sake of knowledge - that is
CURIOSITY
There are those who seek knowledge to be known by others - that is VANITY
There are those who seek knowledge in order to serve - that is LOVE
Bernard of Clairvaux (1090 - 1153)
More information about the users
mailing list