diff mbox

[06/11] hw/arm/virt: move VirtMachineState/Class to virt.h

Message ID 20161213214522.25548-7-drjones@redhat.com
State Superseded
Headers show

Commit Message

Andrew Jones Dec. 13, 2016, 9:45 p.m. UTC
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 <drjones@redhat.com>

---
 hw/arm/virt.c         | 51 +++++++--------------------------------------------
 include/hw/arm/virt.h | 39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 44 deletions(-)

-- 
2.9.3

Comments

Igor Mammedov Dec. 15, 2016, 2:32 p.m. UTC | #1
On Tue, 13 Dec 2016 22:45:17 +0100
Andrew Jones <drjones@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 <drjones@redhat.com>

Reviewed-by: Igor Mammedov <imammedo@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 */
diff mbox

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index b137d9bbb689..7860fade52f1 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -58,50 +58,6 @@ 
 #include "qapi/visitor.h"
 #include "standard-headers/linux/input.h"
 
-/* Number of external interrupt lines to configure the GIC with */
-#define NUM_IRQS 256
-
-#define PLATFORM_BUS_NUM_IRQS 64
-
-static ARMPlatformBusSystemParams platform_bus_params;
-
-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)
-
-
 #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
     static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
                                                     void *data) \
@@ -131,6 +87,13 @@  typedef struct {
     DEFINE_VIRT_MACHINE_LATEST(major, minor, false)
 
 
+/* Number of external interrupt lines to configure the GIC with */
+#define NUM_IRQS 256
+
+#define PLATFORM_BUS_NUM_IRQS 64
+
+static ARMPlatformBusSystemParams platform_bus_params;
+
 /* RAM limit in GB. Since VIRT_MEM starts at the 1GB mark, this means
  * RAM can go up to the 256GB mark, leaving 256GB of the physical
  * address space unallocated and free for future use between 256G and 512G.
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"
+#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 */