device: 0.952 graphic: 0.903 instruction: 0.881 assembly: 0.832 mistranslation: 0.813 semantic: 0.808 socket: 0.772 vnc: 0.728 network: 0.699 boot: 0.663 KVM: 0.599 other: 0.538 Virtio-GPU doesn't fill Response data for cursor queue Description of problem: Implementation of virtio-gpu in Qemu is likely not fill Response header in cursor commands. Inside the virtio 1.2 specification, document said: ``` VIRTIO_GPU_CMD_UPDATE_CURSOR Update cursor. Request data is struct virtio_gpu_update_cursor. Response type is VIRTIO_GPU_RESP_OK_NODATA. Full cursor update. Cursor will be loaded from the specified resource_id and will be moved to pos. The driver must transfer the cursor into the resource beforehand (using control queue commands) and make sure the commands to fill the resource are actually processed (using fencing). VIRTIO_GPU_CMD_MOVE_CURSOR Move cursor. Request data is struct virtio_gpu_update_cursor. Response type is VIRTIO_GPU_RESP_OK_NODATA. Move cursor to the place specified in pos. The other fields are not used and will be ignored by the device. ``` The cursor commands do have a response like control commands. But in [hw/display/virtio-gpu.c#L1136](https://gitlab.com/qemu-project/qemu/-/blob/master/hw/display/virtio-gpu.c#L1136), QEMU doesn't care anything about response, just fetching command and execute. It this a Implementation compromise or I missing something in the specification? Steps to reproduce: 1. Write any kernel that using virtio-gpu. 2. Run on qemu. 3. No response on cursor command. Additional information: Specification: [virtio-v1.2-cs01.html](https://docs.oasis-open.org/virtio/virtio/v1.2/cs01/virtio-v1.2-cs01.html#x1-3650007)