There are more advantages to using request with PASID:
You can use hardware support for nesting, having guest supply 1st level
translation and host second level translation.
I actually had an idea to do something like this for AMD
and ARM which support nesting even for requests with PASID,
having intel benefit too would be nice.
Something else to consider is implementing PRS capability.
In theory this could then go like this:
- get page request from device
- fetch request from VTD page tables
- use response to issue a page response message
This would match the current vhost-user model.