diff mbox series

[v2,04/12] target/arm: spe: Only enable SPE from 5.2 compat machines.

Message ID 7ed8b1ff7a61132c6520f87213c61784ab0c331b.1599549462.git.haibo.xu@linaro.org
State Superseded
Headers show
Series target/arm: Add vSPE support to KVM guest | expand

Commit Message

Haibo Xu Sept. 8, 2020, 8:13 a.m. UTC
Signed-off-by: Haibo Xu <haibo.xu@linaro.org>

---
 hw/arm/virt.c         | 7 +++++++
 include/hw/arm/virt.h | 1 +
 2 files changed, 8 insertions(+)

-- 
2.17.1

Comments

Andrew Jones Sept. 8, 2020, 10:52 a.m. UTC | #1
On Tue, Sep 08, 2020 at 08:13:22AM +0000, Haibo Xu wrote:
> Signed-off-by: Haibo Xu <haibo.xu@linaro.org>

> ---

>  hw/arm/virt.c         | 7 +++++++

>  include/hw/arm/virt.h | 1 +

>  2 files changed, 8 insertions(+)

> 

> diff --git a/hw/arm/virt.c b/hw/arm/virt.c

> index acf9bfbece..3f6d26c531 100644

> --- a/hw/arm/virt.c

> +++ b/hw/arm/virt.c

> @@ -1830,6 +1830,10 @@ static void machvirt_init(MachineState *machine)

>              object_property_set_bool(cpuobj, "pmu", false, NULL);

>          }

>  

> +        if (vmc->no_spe && object_property_find(cpuobj, "spe", NULL)) {

> +            object_property_set_bool(cpuobj, "spe", false, NULL);

> +        }

> +

>          if (object_property_find(cpuobj, "reset-cbar", NULL)) {

>              object_property_set_int(cpuobj, "reset-cbar",

>                                      vms->memmap[VIRT_CPUPERIPHS].base,

> @@ -2553,8 +2557,11 @@ DEFINE_VIRT_MACHINE_AS_LATEST(5, 2)

>  

>  static void virt_machine_5_1_options(MachineClass *mc)

>  {

> +    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));

> +

>      virt_machine_5_2_options(mc);

>      compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len);

> +    vmc->no_spe = true;

>  }

>  DEFINE_VIRT_MACHINE(5, 1)

>  

> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h

> index dff67e1bef..72c269aaa5 100644

> --- a/include/hw/arm/virt.h

> +++ b/include/hw/arm/virt.h

> @@ -126,6 +126,7 @@ typedef struct {

>      bool no_ged;   /* Machines < 4.2 has no support for ACPI GED device */

>      bool kvm_no_adjvtime;

>      bool acpi_expose_flash;

> +    bool no_spe;

>  } VirtMachineClass;

>  

>  typedef struct {

> -- 

> 2.17.1

>


Reviewed-by: Andrew Jones <drjones@redhat.com>
diff mbox series

Patch

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index acf9bfbece..3f6d26c531 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1830,6 +1830,10 @@  static void machvirt_init(MachineState *machine)
             object_property_set_bool(cpuobj, "pmu", false, NULL);
         }
 
+        if (vmc->no_spe && object_property_find(cpuobj, "spe", NULL)) {
+            object_property_set_bool(cpuobj, "spe", false, NULL);
+        }
+
         if (object_property_find(cpuobj, "reset-cbar", NULL)) {
             object_property_set_int(cpuobj, "reset-cbar",
                                     vms->memmap[VIRT_CPUPERIPHS].base,
@@ -2553,8 +2557,11 @@  DEFINE_VIRT_MACHINE_AS_LATEST(5, 2)
 
 static void virt_machine_5_1_options(MachineClass *mc)
 {
+    VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
+
     virt_machine_5_2_options(mc);
     compat_props_add(mc->compat_props, hw_compat_5_1, hw_compat_5_1_len);
+    vmc->no_spe = true;
 }
 DEFINE_VIRT_MACHINE(5, 1)
 
diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
index dff67e1bef..72c269aaa5 100644
--- a/include/hw/arm/virt.h
+++ b/include/hw/arm/virt.h
@@ -126,6 +126,7 @@  typedef struct {
     bool no_ged;   /* Machines < 4.2 has no support for ACPI GED device */
     bool kvm_no_adjvtime;
     bool acpi_expose_flash;
+    bool no_spe;
 } VirtMachineClass;
 
 typedef struct {