Peter 'p2' De Schrijver wrote:
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

Reply via email to