1#ifndef VIRTIO_VGA_H
2#define VIRTIO_VGA_H
3
4#include "hw/virtio/virtio-gpu-pci.h"
5#include "vga_int.h"
6
7/*
8 * virtio-vga-base: This extends VirtioPCIProxy.
9 */
10#define TYPE_VIRTIO_VGA_BASE "virtio-vga-base"
11#define VIRTIO_VGA_BASE(obj) \
12 OBJECT_CHECK(VirtIOVGABase, (obj), TYPE_VIRTIO_VGA_BASE)
13#define VIRTIO_VGA_BASE_GET_CLASS(obj) \
14 OBJECT_GET_CLASS(VirtIOVGABaseClass, obj, TYPE_VIRTIO_VGA_BASE)
15#define VIRTIO_VGA_BASE_CLASS(klass) \
16 OBJECT_CLASS_CHECK(VirtIOVGABaseClass, klass, TYPE_VIRTIO_VGA_BASE)
17
18typedef struct VirtIOVGABase {
19 VirtIOPCIProxy parent_obj;
20
21 VirtIOGPUBase *vgpu;
22 VGACommonState vga;
23 MemoryRegion vga_mrs[3];
24} VirtIOVGABase;
25
26typedef struct VirtIOVGABaseClass {
27 VirtioPCIClass parent_class;
28
29 DeviceReset parent_reset;
30} VirtIOVGABaseClass;
31
32#endif /* VIRTIO_VGA_H */
33