On Thu, 2012-06-14 at 05:17 +0200, Edgar E. Iglesias wrote: > The CPU's MMU is a CPU local thing, it can be ignored in this context... > > Anyway, I might very well be missing or missunderstganding something so > I'm not claiming I'm having the absolute "thruth" here but it seems to me > like implementing device accesses bottom-up or "upstream", is something > that is extremely rare (to put it mildely), something that is unnecessary > unless we __really__ need it.
Well, I'm happy to stick with my existing DMAContext patches that take care of most of the requirement so here I'm siding with you :-) As for the "extremely rare" I don't know ... technically speaking anything with PCI qualifies. However we only rarely get into a situation where we need that level of correctness in the model, because the lack of a "proper" model in this case will probably only affect peer to peer DMAs which are fairly rare and only when such peer to peer DMA is itself done in a system with funky remapping and/or iommu... That's why I'd like for 1.2 to simply use the existing DMAContext/iommu proposal, however, in order to avoid having to change the devices if/when something "better" is implemented, I'll provide "accessors" at least for PCI (feel free to do accessors for AXI etc... as well if you wish) so that the accessors themselves can be changed if needed without impacting all the users. Cheers, Ben.