On Tue, 13 Dec 2016 22:45:17 +0100 Andrew Jones <drjo...@redhat.com> wrote:
> In preparation to share more Virt machine state than just guest-info > with other mach-virt source files, move the State and Class structures > to virt.h > > Signed-off-by: Andrew Jones <drjo...@redhat.com> Reviewed-by: Igor Mammedov <imamm...@redhat.com> > --- [...] > diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h > index c2c1f6837442..77d25dbddb62 100644 > --- a/include/hw/arm/virt.h > +++ b/include/hw/arm/virt.h > @@ -33,6 +33,8 @@ > #include "qemu-common.h" > #include "exec/hwaddr.h" > #include "qemu/notify.h" > +#include "hw/boards.h" nit: one won't need this header be included directly in virt.c anymore > +#include "hw/arm/arm.h" > > #define NUM_GICV2M_SPIS 64 > #define NUM_VIRTIO_TRANSPORTS 32 > @@ -89,6 +91,43 @@ typedef struct VirtGuestInfo { > bool no_its; > } VirtGuestInfo; > > +typedef struct { > + MachineClass parent; > + bool disallow_affinity_adjustment; > + bool no_its; > + bool no_pmu; > + bool claim_edge_triggered_timers; > +} VirtMachineClass; > + > +typedef struct { > + MachineState parent; > + VirtGuestInfo acpi_guest_info; > + Notifier machine_done; > + bool secure; > + bool highmem; > + bool virt; > + int32_t gic_version; > + struct arm_boot_info bootinfo; > + const MemMapEntry *memmap; > + const int *irqmap; > + int smp_cpus; > + void *fdt; > + int fdt_size; > + uint32_t clock_phandle; > + uint32_t gic_phandle; > + uint32_t msi_phandle; > + int psci_conduit; > +} VirtMachineState; > + > +#define TYPE_VIRT_MACHINE MACHINE_TYPE_NAME("virt") > +#define VIRT_MACHINE(obj) \ > + OBJECT_CHECK(VirtMachineState, (obj), TYPE_VIRT_MACHINE) > +#define VIRT_MACHINE_GET_CLASS(obj) \ > + OBJECT_GET_CLASS(VirtMachineClass, obj, TYPE_VIRT_MACHINE) > +#define VIRT_MACHINE_CLASS(klass) \ > + OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE) > + > + > void virt_acpi_setup(VirtGuestInfo *guest_info); > > #endif /* QEMU_ARM_VIRT_H */