On 25/04/11 19:11, Blue Swirl wrote:
Would it make any difference if IOMMU region were 16M so that the base would start at 0xff000000?
Otherwise the patch looks OK.
Maybe, but there are still difficulties with that. For example, ESP claims its IOMMU memory first, so I was seeing that ESP would get 0xfe000000 while LANCE would get 0xfe001000 - so even changing the base is no guarantee this will work. And of course, as soon as the kernel takes over the IOMMU page table then the existing mappings disappear - unless there is some weird kernel logic that only preserves mappings above a certain limit such as 0xff000000?
So in short, given the amount of effort involved for a similar result I don't see many advantages over the fixed address mapping implemented in the patch.