virtio-gpu-pci-rutabaga.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. #include "qemu/osdep.h"
  3. #include "qapi/error.h"
  4. #include "qemu/module.h"
  5. #include "hw/pci/pci.h"
  6. #include "hw/qdev-properties.h"
  7. #include "hw/virtio/virtio.h"
  8. #include "hw/virtio/virtio-bus.h"
  9. #include "hw/virtio/virtio-gpu-pci.h"
  10. #include "qom/object.h"
  11. #define TYPE_VIRTIO_GPU_RUTABAGA_PCI "virtio-gpu-rutabaga-pci"
  12. OBJECT_DECLARE_SIMPLE_TYPE(VirtIOGPURutabagaPCI, VIRTIO_GPU_RUTABAGA_PCI)
  13. struct VirtIOGPURutabagaPCI {
  14. VirtIOGPUPCIBase parent_obj;
  15. VirtIOGPURutabaga vdev;
  16. };
  17. static void virtio_gpu_rutabaga_initfn(Object *obj)
  18. {
  19. VirtIOGPURutabagaPCI *dev = VIRTIO_GPU_RUTABAGA_PCI(obj);
  20. virtio_instance_init_common(obj, &dev->vdev, sizeof(dev->vdev),
  21. TYPE_VIRTIO_GPU_RUTABAGA);
  22. VIRTIO_GPU_PCI_BASE(obj)->vgpu = VIRTIO_GPU_BASE(&dev->vdev);
  23. }
  24. static const TypeInfo virtio_gpu_rutabaga_pci_info[] = {
  25. {
  26. .name = TYPE_VIRTIO_GPU_RUTABAGA_PCI,
  27. .parent = TYPE_VIRTIO_GPU_PCI_BASE,
  28. .instance_size = sizeof(VirtIOGPURutabagaPCI),
  29. .instance_init = virtio_gpu_rutabaga_initfn,
  30. .interfaces = (InterfaceInfo[]) {
  31. { INTERFACE_CONVENTIONAL_PCI_DEVICE },
  32. { },
  33. }
  34. },
  35. };
  36. DEFINE_TYPES(virtio_gpu_rutabaga_pci_info)
  37. module_obj(TYPE_VIRTIO_GPU_RUTABAGA_PCI);
  38. module_kconfig(VIRTIO_PCI);
  39. module_dep("hw-display-virtio-gpu-pci");