1 /* 2 * QEMU Macintosh Nubus Virtio MMIO card 3 * 4 * Copyright (c) 2023 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> 5 * 6 * SPDX-License-Identifier: GPL-2.0-or-later 7 */ 8 9 #ifndef HW_NUBUS_VIRTIO_MMIO_H 10 #define HW_NUBUS_VIRTIO_MMIO_H 11 12 #include "hw/nubus/nubus.h" 13 #include "qom/object.h" 14 #include "hw/intc/goldfish_pic.h" 15 #include "hw/virtio/virtio-mmio.h" 16 17 #define TYPE_NUBUS_VIRTIO_MMIO "nubus-virtio-mmio" 18 OBJECT_DECLARE_TYPE(NubusVirtioMMIO, NubusVirtioMMIODeviceClass, 19 NUBUS_VIRTIO_MMIO) 20 21 struct NubusVirtioMMIODeviceClass { 22 DeviceClass parent_class; 23 24 DeviceRealize parent_realize; 25 }; 26 27 #define NUBUS_VIRTIO_MMIO_NUM_DEVICES 32 28 29 struct NubusVirtioMMIO { 30 NubusDevice parent_obj; 31 32 GoldfishPICState pic; 33 VirtIOMMIOProxy virtio_mmio[NUBUS_VIRTIO_MMIO_NUM_DEVICES]; 34 }; 35 36 #endif 37