cmd_p->hdr.ctx_id =
Before this completion of this hypercall, this resource can be considered context local, while afterward it can be considered "exported".
Maybe I'm misunderstanding render contexts, but exporting a resource doesn't seem related to render contexts. The other resource management operations (e.g. creation, attaching a backing) don't take render contexts, and exporting a resource seems like the same sort of operation. It's not clear to me why exporting a resource would affect what render contexts a resource has been attached to, nor why the render contexts a resource has been attached to would affect exporting the resource. Also, from an implementation perspective, I don't see any struct virtio_gpu_fpriv to get the ctx_id from.
-David