mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
vfio: Introduce a new header file for VFIOdisplay declarations
Gather all VFIOdisplay related declarations into "vfio-display.h" to reduce exposure of VFIO internals in "hw/vfio/vfio-common.h". Reviewed-by: John Levon <john.levon@nutanix.com> Link: https://lore.kernel.org/qemu-devel/20250318095415.670319-8-clg@redhat.com Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Link: https://lore.kernel.org/qemu-devel/20250326075122.1299361-9-clg@redhat.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
This commit is contained in:
parent
eb6caa7916
commit
aa173cb279
4 changed files with 43 additions and 29 deletions
|
@ -16,9 +16,9 @@
|
|||
|
||||
#include "qemu/error-report.h"
|
||||
#include "hw/display/edid.h"
|
||||
#include "ui/console.h"
|
||||
#include "qapi/error.h"
|
||||
#include "pci.h"
|
||||
#include "vfio-display.h"
|
||||
#include "trace.h"
|
||||
|
||||
#ifndef DRM_PLANE_TYPE_PRIMARY
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "qemu/timer.h"
|
||||
#include "qom/object.h"
|
||||
#include "system/kvm.h"
|
||||
#include "vfio-display.h"
|
||||
|
||||
#define PCI_ANY_ID (~0)
|
||||
|
||||
|
|
41
hw/vfio/vfio-display.h
Normal file
41
hw/vfio/vfio-display.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* 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"
|
||||
|
||||
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 */
|
|
@ -23,8 +23,6 @@
|
|||
|
||||
#include "system/memory.h"
|
||||
#include "qemu/queue.h"
|
||||
#include "ui/console.h"
|
||||
#include "hw/display/ramfb.h"
|
||||
#ifdef CONFIG_LINUX
|
||||
#include <linux/vfio.h>
|
||||
#endif
|
||||
|
@ -182,32 +180,6 @@ typedef struct VFIOGroup {
|
|||
#define TYPE_HOST_IOMMU_DEVICE_IOMMUFD_VFIO \
|
||||
TYPE_HOST_IOMMU_DEVICE_IOMMUFD "-vfio"
|
||||
|
||||
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;
|
||||
|
||||
VFIOAddressSpace *vfio_get_address_space(AddressSpace *as);
|
||||
void vfio_put_address_space(VFIOAddressSpace *space);
|
||||
void vfio_address_space_insert(VFIOAddressSpace *space,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue