[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 1/5] hw/arm/virt: Only describe cpu topology since virt-6.
From: |
Andrew Jones |
Subject: |
Re: [PATCH v6 1/5] hw/arm/virt: Only describe cpu topology since virt-6.2 |
Date: |
Tue, 24 Aug 2021 15:54:15 +0200 |
On Tue, Aug 24, 2021 at 08:20:12PM +0800, Yanan Wang wrote:
> On existing older machine types, without cpu topology described
> in ACPI or DT, the guest will populate one by default. With the
> topology described, it will read the information and set up its
> topology as instructed, but that may not be the same as what was
> getting used by default. It's possible that an user application
> has a dependency on the default topology and if the default one
> gets changed it will probably behave differently.
>
> Based on above consideration we'd better only describe topology
> information to the guest on 6.2 and later machine types.
>
> Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
> ---
> hw/arm/virt.c | 3 +++
> include/hw/arm/virt.h | 4 +++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> index ae029680da..82f2eba6bd 100644
> --- a/hw/arm/virt.c
> +++ b/hw/arm/virt.c
> @@ -2795,9 +2795,12 @@ DEFINE_VIRT_MACHINE_AS_LATEST(6, 2)
>
> static void virt_machine_6_1_options(MachineClass *mc)
> {
> + VirtMachineClass *vmc = VIRT_MACHINE_CLASS(OBJECT_CLASS(mc));
> +
> virt_machine_6_2_options(mc);
> compat_props_add(mc->compat_props, hw_compat_6_1, hw_compat_6_1_len);
> mc->smp_props.prefer_sockets = true;
> + vmc->no_cpu_topology = true;
> }
> DEFINE_VIRT_MACHINE(6, 1)
>
> diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h
> index 9661c46699..6ab21ea90e 100644
> --- a/include/hw/arm/virt.h
> +++ b/include/hw/arm/virt.h
> @@ -124,11 +124,13 @@ struct VirtMachineClass {
> bool claim_edge_triggered_timers;
> bool smbios_old_sys_ver;
> bool no_highmem_ecam;
> - bool no_ged; /* Machines < 4.2 has no support for ACPI GED device */
> + bool no_ged; /* Machines < 4.2 have no support for ACPI GED device */
> bool kvm_no_adjvtime;
> bool no_kvm_steal_time;
> bool acpi_expose_flash;
> bool no_secure_gpio;
> + /* Machines < 6.2 have no support for describing cpu topology to guest */
> + bool no_cpu_topology;
> };
>
> struct VirtMachineState {
> --
> 2.19.1
>
Reviewed-by: Andrew Jones <drjones@redhat.com>
- [PATCH v6 0/5] hw/arm/virt: Introduce cpu topology support, Yanan Wang, 2021/08/24
- [PATCH v6 4/5] hw/acpi/aml-build: Add Processor hierarchy node structure, Yanan Wang, 2021/08/24
- [PATCH v6 5/5] hw/acpi/aml-build: Generate PPTT table, Yanan Wang, 2021/08/24
- [PATCH v6 1/5] hw/arm/virt: Only describe cpu topology since virt-6.2, Yanan Wang, 2021/08/24
- Re: [PATCH v6 1/5] hw/arm/virt: Only describe cpu topology since virt-6.2,
Andrew Jones <=
- [PATCH v6 2/5] device_tree: Add qemu_fdt_add_path, Yanan Wang, 2021/08/24
- [PATCH v6 3/5] hw/arm/virt: Add cpu-map to device tree, Yanan Wang, 2021/08/24