From 182122914ccb0f3ac268de3d0e863cdc77420f08 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 8 Apr 2022 10:23:29 +0200 Subject: [PATCH] OvmfPkg/VirtioGpuDxe: add GetDisplayInfo to virtio-gpu spec header. Add GetDisplayInfo command, reply and data struct to the virtio-gpu specification header file. Signed-off-by: Gerd Hoffmann Reviewed-by: Ard Biesheuvel --- OvmfPkg/Include/IndustryStandard/VirtioGpu.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Include/IndustryStandard/VirtioGpu.h b/OvmfPkg/Include/IndustryStandard/VirtioGpu.h index 12559ccef5..13f719d4c0 100644 --- a/OvmfPkg/Include/IndustryStandard/VirtioGpu.h +++ b/OvmfPkg/Include/IndustryStandard/VirtioGpu.h @@ -37,6 +37,7 @@ typedef enum { // // - create/release a host-side 2D resource, // + VirtioGpuCmdGetDisplayInfo = 0x0100, VirtioGpuCmdResourceCreate2d = 0x0101, VirtioGpuCmdResourceUnref = 0x0102, // @@ -64,7 +65,8 @@ typedef enum { // // Success code for all of the above commands. // - VirtioGpuRespOkNodata = 0x1100, + VirtioGpuRespOkNodata = 0x1100, + VirtioGpuRespOkDisplayInfo = 0x1101, } VIRTIO_GPU_CONTROL_TYPE; // @@ -207,4 +209,19 @@ typedef struct { } VIRTIO_GPU_RESOURCE_FLUSH; #pragma pack () +// +// Response structure for VirtioGpuCmdGetDisplayInfo +// +#define VIRTIO_GPU_MAX_SCANOUTS 16 +#pragma pack (1) +typedef struct { + VIRTIO_GPU_CONTROL_HEADER Header; + struct { + VIRTIO_GPU_RECTANGLE Rectangle; + UINT32 Enabled; + UINT32 Flags; + } Pmodes[VIRTIO_GPU_MAX_SCANOUTS]; +} VIRTIO_GPU_RESP_DISPLAY_INFO; +#pragma pack () + #endif // _VIRTIO_GPU_H_