Subject: pci_mapreg_map - basep argument
To: None <firstname.lastname@example.org>
From: Leo Weppelman <email@example.com>
Date: 06/27/2000 13:16:58
I was wondering what the allow usage of the basep argument is. Is this
1) the value of the BAR or 2) a valid physical address from the view of
the PCI card or 3) a valid physical address from the view of the CPU...
The story behind the question is this:
On the atari Hades, the PCI cards have memory mapped I/O and memory and
config space space. So, to access the memory space of a card, the CPU writes
to address 0x8xxxxxxx. The card however sees this as address 0x0xxxxxxx. So,
the value of the BAR != physical address. To make it even more fun, from the
cards view, CPU RAM space is located at [0x80000000-0xb0000000].
Now, the eso driver used the return value in *basep to rewrite the BAR...
Should there be a function to turn a tag/handle pair into a physical address?
And maybe a physical address into a BAR-value?