> what's the point of implementing it in the single VOP? > ie. how is it better than having VOP_GETPAGES_XIP and pgo_get_xip?
Why not adding VOP_GETPAGES_XIP - because XIP is almost transparent to filesystems. The difference between XIP or not is only where to get pages, which is beyond filesystem's task. Why not adding pgo_get_xip - because I didn't think it's worth adding it. XIP is transparent to other UVM pagers. (And only used by vnode anyway.) Why not done in pgo_get (uvn_get) - it's possible. My 1st implementation did the task in uvn_get(). I've changed it because what it does is close to (generic) genfs_getpages(). > is it allowed to return both of "device pages" and normal pages mixed > for a request? That should work. Once vm_page *[] are filled and passed back to UVM, they're deal with one-by-one. Masao -- Masao Uebayashi / Tombi Inc. / Tel: +81-90-9141-4635