aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--virtio-gpu.tex11
1 files changed, 10 insertions, 1 deletions
diff --git a/virtio-gpu.tex b/virtio-gpu.tex
index 4c35d77..9dca801 100644
--- a/virtio-gpu.tex
+++ b/virtio-gpu.tex
@@ -182,7 +182,15 @@ copies needed.
The driver MUST attach backing storage to a shared resource before
using it. Any changes on the shared resource MAY be instantly visible
-on the host.
+on the host. The driver MUST NOT detach backing storage while the
+resource is busy, specifically while it is used by a scanout. The
+device MAY respond with VIRTIO_GPU_RESP_ERR_RESOURCE_BUSY in case the
+driver submits an illegal VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING
+command.
+
+The device MUST make sure it stopped using all backing storage pages
+before completing a VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING command for
+a shared resource.
Otherwise the shared resources are used like normal resources.
Especially the driver must send explicit VIRTIO_GPU_CMD_TRANSFER_*
@@ -244,6 +252,7 @@ enum virtio_gpu_ctrl_type {
VIRTIO_GPU_RESP_ERR_INVALID_CONTEXT_ID,
VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER,
VIRTIO_GPU_RESP_ERR_NO_BACKING_STORAGE,
+ VIRTIO_GPU_RESP_ERR_RESOURCE_BUSY,
};
#define VIRTIO_GPU_FLAG_FENCE (1 << 0)