Support cluster level in generation of ACPI Processor Properties Topology Table (PPTT) for ARM virt machines.
Signed-off-by: Yanan Wang <wangyana...@huawei.com> --- hw/arm/virt-acpi-build.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index bef7056213..b34f0dbee0 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -839,6 +839,21 @@ build_pptt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) 0, socket, NULL, 0); } + length = g_queue_get_length(list); + for (i = 0; i < length; i++) { + int cluster; + + father_offset = GPOINTER_TO_UINT(g_queue_pop_head(list)); + for (cluster = 0; cluster < ms->smp.clusters; cluster++) { + g_queue_push_tail(list, + GUINT_TO_POINTER(table_data->len - pptt_start)); + build_processor_hierarchy_node( + table_data, + (0 << 0), /* not a physical package */ + father_offset, cluster, NULL, 0); + } + } + length = g_queue_get_length(list); for (i = 0; i < length; i++) { int core; -- 2.19.1