From a82e4efa2490099e7113262362ad8974d677e239 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 8 Aug 2019 18:11:42 -0400 Subject: [PATCH] i386/cpu: Consolidate die-id validity in smp context The field die_id (default as 0) and has_die_id are introduced to X86CPU. Following the legacy smp check rules, the die_id validity is added to the same contexts as leagcy smp variables such as hmp_hotpluggable_cpus(), machine_set_cpu_numa_node(), cpu_slot_to_string() and pc_cpu_pre_plug(). Backports relevant bits from 176d2cda0dee9f4f78f604ad72d6a111e8e38f3b from qemu --- qemu/target/i386/cpu.h | 1 + qemu/target/i386/topology.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/qemu/target/i386/cpu.h b/qemu/target/i386/cpu.h index 56862804..6abad6fb 100644 --- a/qemu/target/i386/cpu.h +++ b/qemu/target/i386/cpu.h @@ -1392,6 +1392,7 @@ struct X86CPU { int32_t node_id; /* NUMA node this CPU belongs to */ int32_t socket_id; + int32_t die_id; int32_t core_id; int32_t thread_id; diff --git a/qemu/target/i386/topology.h b/qemu/target/i386/topology.h index 6c7ef3a1..d03ce19c 100644 --- a/qemu/target/i386/topology.h +++ b/qemu/target/i386/topology.h @@ -49,6 +49,7 @@ typedef uint32_t apic_id_t; typedef struct X86CPUTopoInfo { unsigned pkg_id; + unsigned die_id; unsigned core_id; unsigned smt_id; } X86CPUTopoInfo; @@ -105,6 +106,7 @@ static inline void x86_topo_ids_from_apicid(apic_id_t apicid, topo->core_id = (apicid >> apicid_core_offset(nr_cores, nr_threads)) & ~(0xFFFFFFFFUL << apicid_core_width(nr_cores, nr_threads)); topo->pkg_id = apicid >> apicid_pkg_offset(nr_cores, nr_threads); + topo->die_id = 0; } /* Make APIC ID for the CPU based on Pkg_ID, Core_ID, SMT_ID