| /* |
| * VFIO display |
| * |
| * Copyright Red Hat, Inc. 2025 |
| * |
| * SPDX-License-Identifier: GPL-2.0-or-later |
| */ |
| |
| #ifndef HW_VFIO_VFIO_DISPLAY_H |
| #define HW_VFIO_VFIO_DISPLAY_H |
| |
| #include "ui/console.h" |
| #include "hw/display/ramfb.h" |
| #include "hw/vfio/vfio-region.h" |
| |
| typedef struct VFIODMABuf { |
| QemuDmaBuf *buf; |
| uint32_t pos_x, pos_y, pos_updates; |
| uint32_t hot_x, hot_y, hot_updates; |
| int dmabuf_id; |
| QTAILQ_ENTRY(VFIODMABuf) next; |
| } VFIODMABuf; |
| |
| typedef struct VFIODisplay { |
| QemuConsole *con; |
| RAMFBState *ramfb; |
| struct vfio_region_info *edid_info; |
| struct vfio_region_gfx_edid *edid_regs; |
| uint8_t *edid_blob; |
| QEMUTimer *edid_link_timer; |
| struct { |
| VFIORegion buffer; |
| DisplaySurface *surface; |
| } region; |
| struct { |
| QTAILQ_HEAD(, VFIODMABuf) bufs; |
| VFIODMABuf *primary; |
| VFIODMABuf *cursor; |
| } dmabuf; |
| } VFIODisplay; |
| |
| #endif /* HW_VFIO_VFIO_DISPLAY_H */ |