On Fri, Apr 01, 2005 at 11:22:21AM +0200, Bas Wijnen wrote:
Hi,
I'm not very familiar with DMA, but I remembered that only certain pages can be used for DMA. Or was that only for ISA? Anyway, if that is not the case, it becomes a lot simpler.
It's true for ISA but also for PCI in some 64bit systems. In general we have the following magic barriers on IA32/AMD64 systems :
1MB : 8bit ISA DMA
Note that 8bit ISA card (which are almost as (un)common as the 16bit variants) can still access the entier 16MB memory when plugged into a
16bit bus (which every system capable of running the HURD has (or had)).
16MB : 16bit ISA DMA
I know of at least one southbridge (Intel SIO, predecessor of the Intel PIIX) which allows for 29- or 32-bit addressing for ISA cards.
4GB : Non-DAC capable PCI cards on 64bit systems lacking an IO-MMU. (DAC stands for Dual Address Cycle here. Ie. the ability to use a 64bit address by doing two 32bit address cycles).
Additionally 8 and 16bit ISA DMA transfers can't cross a 64KB or a 128KB
boundary respectively.
Cheers,
Peter (p2).
------------------------------------------------------------------------
_______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
_______________________________________________ L4-hurd mailing list [email protected] http://lists.gnu.org/mailman/listinfo/l4-hurd
