Another question is, do we want to register device memory as part of usual memory? For example OpenBSD seems to be trying to use framebuffer's memory for mbufs.
It's possible if we prepare the relevant interface and call uvm_page_physload(9) instead of uvm_page_physload_device(9). Maybe worth preparing the API. It'd internally allocate struct vm_page array. Let UVM use those pages keeping reference counts so that we can safely detach device. This is kind of NUMA. Masao -- Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635