summaryrefslogblamecommitdiffstats
path: root/hw/display/virtio-vga.h
blob: f03e1ba61994b95b07b44a4e2f61f032f43a40cf (plain) (tree)































                                                                       
#ifndef VIRTIO_VGA_H_
#define VIRTIO_VGA_H_

#include "hw/virtio/virtio-pci.h"
#include "vga_int.h"

/*
 * virtio-vga-base: This extends VirtioPCIProxy.
 */
#define TYPE_VIRTIO_VGA_BASE "virtio-vga-base"
#define VIRTIO_VGA_BASE(obj)                                \
    OBJECT_CHECK(VirtIOVGABase, (obj), TYPE_VIRTIO_VGA_BASE)
#define VIRTIO_VGA_BASE_GET_CLASS(obj)                      \
    OBJECT_GET_CLASS(VirtIOVGABaseClass, obj, TYPE_VIRTIO_VGA_BASE)
#define VIRTIO_VGA_BASE_CLASS(klass)                        \
    OBJECT_CLASS_CHECK(VirtIOVGABaseClass, klass, TYPE_VIRTIO_VGA_BASE)

typedef struct VirtIOVGABase {
    VirtIOPCIProxy parent_obj;

    VirtIOGPUBase *vgpu;
    VGACommonState vga;
    MemoryRegion vga_mrs[3];
} VirtIOVGABase;

typedef struct VirtIOVGABaseClass {
    VirtioPCIClass parent_class;

    DeviceReset parent_reset;
} VirtIOVGABaseClass;

#endif /* VIRTIO_VGA_H_ */