Bochs ATA
Bochs ATA
Hello, I use bochs to test my OS, but I have problems using ATA. I access ATA through the predefined IO addresses, but now I want to access it through PCI. The problem I cannot find it when I list the PCI devices. The only device I don't know what it is, is 0xFEFE 0xEFEF. What is the difference between PATA and SATA? What exactly is AHCI and ATAPI?
Re: Bochs ATA
I think you need to do a little research before proceeding. This Wiki would be a good place to start. This is pretty basic stuff and I don't think anyone here is going to give you a personal tutorial on matters that are very clearly documented.
Re: Bochs ATA
I'm not an expert, but I'll try to clear it up for you as I'm currently working on the same thing.
PATA and SATA are almost the same, the only difference is the physical connection - one sends several bits of information over a cable in paralel (thus Paralel-ATA), other one sends all the bits at high speed in serial manner over a single wire (Serial-ATA).
ATAPI - this one is a sub standard of ATA to send and receve data packets (ATA Packet Interface I believe) for devices like CD/DVD-ROM and SCSI.
SATA together with Intel introduces AHCI - a communication protocol which in theory helps you (as a developer) with driver implementation, but it actually adds an extra abstraction, that only wraps around ATA (and ATAPI) commands, so you still have to read ATA specs to understand all the commands and their data. Plus, correct me if I'm wrong, but AHCI works only with APIC, not with the good old PIC (for interrupts that is).
Cheers!
PATA and SATA are almost the same, the only difference is the physical connection - one sends several bits of information over a cable in paralel (thus Paralel-ATA), other one sends all the bits at high speed in serial manner over a single wire (Serial-ATA).
ATAPI - this one is a sub standard of ATA to send and receve data packets (ATA Packet Interface I believe) for devices like CD/DVD-ROM and SCSI.
SATA together with Intel introduces AHCI - a communication protocol which in theory helps you (as a developer) with driver implementation, but it actually adds an extra abstraction, that only wraps around ATA (and ATAPI) commands, so you still have to read ATA specs to understand all the commands and their data. Plus, correct me if I'm wrong, but AHCI works only with APIC, not with the good old PIC (for interrupts that is).
Cheers!
Re: Bochs ATA
Ok thank you. I knew some off this, but wasn't sure I got it correctly.