On Thu, 22 Jun 2017 14:24:58 -0600 Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote: > On 6/22/2017 2:14 PM, Alan Cox wrote: > > If a platform doesn't support 64bit I/O operations from the CPU then you > > either need to use some kind of platform/architecture specific interface > > if present or accept you don't have one. > > Yes, I understand that. > > The thing is that every user that's currently using it right now is > patching in their own version that splits it on non-64bit systems. > > > It's not safe to split it. Possibly for some use cases you could add an > > ioread64_maysplit() > > I'm open to doing something like that. I think that makes sense for the platforms with that problem. I'm not sure there are many that can't do it for mmio at least. 486SX can't do it and I guess some ARM32 but I think almost everyone else can including most 32bit x86. What's more of a problem is a lot of platforms can do 64bit MMIO via ioread/write64 but not 64bit port I/O, and it's not clear how you represent that via an ioread/write API that abstracts it away. Alan