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