mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-24 18:36:49 +00:00
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
This commit is contained in:
parent
efd887b992
commit
a82e4efa24
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue