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