On Sun, Aug 28, 2011 at 11:48 AM, Alexander Graf <ag...@suse.de> wrote: > > On 27.08.2011, at 04:12, Daniel Verkamp wrote: > >> Implement an I/O space index-data register pair as defined by the AHCI >> spec, including the corresponding SATA PCI capability and BAR. >> >> This allows real-mode code to access the AHCI registers; real-mode >> code cannot address the memory-mapped register space because it is >> beyond the first megabyte. > > Very nice patch! I'll check and compare with a real ICH-9 when I get > back to .de, but I'd assume you also did that already ;). Once I checked > that the IO region is set up similarly, I'll give you my ack.
Please do double check against real hardware if you get the chance - I don't have a real ICH-9 handy to test against. This is all written based on my reading of the spec and testing with an internal DOS developer tool from work. I am mainly curious how the real thing handles writes to the index register that aren't divisible by 4 or are beyond the end of the register set (and how big that really is on ICH-9). Judging by the bits marked "RO" in the spec, I would guess writing 0x13 to the index and then reading it back should give 0x10, but I haven't tested it on real hw. Thanks, -- Daniel