It uses PCI specific fd ioctls to change the attributes.
It's the same thing as extending the mmap() attribute space, but in a
device specific way.
I think evice and platform specific mmap() attributes are basically
inevitable, at any level, embedded or desktop or whatever. The
fact that we've hacked around the issue with device specific
interfaces like the PCI device ioctls, is no excuse to not
tackle the issue directly and come up with something usable.
--