Am 27.08.2011 11:12, schrieb Daniel Verkamp: > 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. > > Signed-off-by: Daniel Verkamp <dan...@drv.nu>
Thanks, applied to the block branch. > --- a/hw/ide/ich.c > +++ b/hw/ide/ich.c > @@ -72,6 +72,14 @@ > #include <hw/ide/pci.h> > #include <hw/ide/ahci.h> > > +#define ICH9_SATA_CAP_OFFSET 0xA8 > + > +#define ICH9_IDP_BAR 4 > +#define ICH9_MEM_BAR 5 > + > +#define ICH9_IDP_INDEX 0x10 > +#define ICH9_IDP_INDEX_LOG2 0x04 Just wondering, why did you choose 0x10 and not 0? The spec reads as if the implementation could freely choose this, and I can't see what the first 16 Bytes are used for. Doesn't make it less correct, of course. Kevin