Do I have to enable ATA PIO Mode?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Bietje
Member
Member
Posts: 100
Joined: Wed Apr 20, 2011 6:57 am

Re: Do I have to enable ATA PIO Mode?

Post by Bietje »

The drive is connected with a sata cable to the motherboard. As I understood from one of the osdev articles are these drives also compatible with ata pio mode. And that seems to be true since this works on one PC. Today I will write some software to test as much bus/drive combinations as possible.
User avatar
thepowersgang
Member
Member
Posts: 734
Joined: Tue Dec 25, 2007 6:03 am
Libera.chat IRC: thePowersGang
Location: Perth, Western Australia
Contact:

Re: Do I have to enable ATA PIO Mode?

Post by thepowersgang »

Not connected in this case means that IO port (on the CPU) is not connected, hence any reads return 0xFF (which means a floating bus). This probably means that the SATA controller is in AHCI mode, not IDE emulation mode.
Last edited by thepowersgang on Mon Jul 25, 2011 8:28 am, edited 1 time in total.
Kernel Development, It's the brain surgery of programming.
Acess2 OS (c) | Tifflin OS (rust) | mrustc - Rust compiler
Currently Working on: mrustc
Bietje
Member
Member
Posts: 100
Joined: Wed Apr 20, 2011 6:57 am

Re: Do I have to enable ATA PIO Mode?

Post by Bietje »

thepowersgang wrote:Not connected in this case means that IO port (on the CPU) is not connected, hence any reads return 0xFF (which means a floating bus). This probably means that the Sara controller is in AHCI mode, not IDE emulation mode.
That really sounds like the explanation of my problem. Why the sata drive works in some PC's and in another it doesn't work. Now I have to write some code to get the sata controller in IDE emulation mode if that is possible.
Bietje
Member
Member
Posts: 100
Joined: Wed Apr 20, 2011 6:57 am

Re: Do I have to enable ATA PIO Mode?

Post by Bietje »

Hi,

Sorry for bumping up this thread, but I gave up on the problem a while ago and focused on other things. Now I'm back at it and I couldn't fix it. I don't even know if it could be fixed, because when I set the bios SATA emulation to IDE, it still reads 0xff.

Is this emulation a bit bogus (like the bios PS/2 emulation)?

Edit: It seems not to be bogus, I checked my PCI devices and it finds an IDE controller (class and subclass (0x0101)), normally this value is 0x106 (SATA controller).

Greets,
Bietje
Post Reply