From a72d4363875ed086acedab657d34f6fc82a7d8aa Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Mon, 9 Jan 2017 11:40:22 +0000 Subject: hw/arm/virt: move VirtMachineState/Class to virt.h 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 Reviewed-by: Igor Mammedov Acked-by: Michael S. Tsirkin Message-id: 20170102200153.28864-10-drjones@redhat.com Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- include/hw/arm/virt.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'include/hw') diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index 69f7847..91dbd69 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" +#include "hw/arm/arm.h" #define NUM_GICV2M_SPIS 64 #define NUM_VIRTIO_TRANSPORTS 32 @@ -85,6 +87,41 @@ 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; + 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; + bool using_psci; +} 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 */ -- cgit v1.1