I'm trying to read a ATAPI device using -ALL- of the functions that are in: http://wiki.osdev.org/IDE
I'm calling ide_atapi_read() and the problem is in the function ide_wait_irq():
Code: Select all
void ide_wait_irq() {
while (!ide_irq_invoked)
;
ide_irq_invoked = 0;
}
...which could be my problem? the IRQ numbers are the default in my OS and the interrupts i think that are enabled.
Maybe i need put some interrupt/irq extra definition in some part of my os?
pd: i dont have problems with ATA read, my problem is in ATAPI because it uses IRQs....
thanks-