[POWERPC] DMA 4GB boundary protection
authorJake Moilanen <moilanen@austin.ibm.com>
Thu, 29 Mar 2007 13:44:02 +0000 (08:44 -0500)
committerPaul Mackerras <paulus@samba.org>
Thu, 12 Apr 2007 17:55:13 +0000 (03:55 +1000)
commit569975591c5530fdc9c7a3c45122e5e46f075a74
tree47908de09d2e7d55d82a3b9d2e47b34b2c7f8133
parent1f9209cfe06be715b82075e79c9aab3c5b714010
[POWERPC] DMA 4GB boundary protection

There are many adapters which cannot handle DMAing across any 4 GB
boundary.  For instance, the latest Emulex adapters.

This normally is not an issue as firmware gives dma-windows under
4gigs.  However, some of the new System-P boxes have dma-windows above
4gigs, and this present a problem.

During initialization of the IOMMU tables, the last entry at each 4GB
boundary is marked as used.  Thus no mappings can cross the boundary.
If a table ends at a 4GB boundary, the entry is not marked as used.

A boot option to remove this 4GB protection is given w/ protect4gb=off.
This exposes the potential issue for driver and hardware development
purposes.

Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/iommu.c