|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [PATCH v2 01/10] i386/cpu: Extract a common fucntion to setup value of MSR_CORE_THREAD_COUNT |
Date: | Sat, 28 Dec 2024 18:37:51 +0100 |
User-agent: | Mozilla Thunderbird |
On 19/12/24 12:01, Xiaoyao Li wrote:
There are duplicated code to setup the value of MSR_CORE_THREAD_COUNT. Extract a common function for it. Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com> --- Changes in v2: - move the implementation of cpu_x86_get_msr_core_thread_count() to target/i386/cpu-sysemu.c; --- target/i386/cpu-sysemu.c | 11 +++++++++++ target/i386/cpu.h | 2 ++ target/i386/hvf/x86_emu.c | 3 +-- target/i386/kvm/kvm.c | 5 +---- target/i386/tcg/sysemu/misc_helper.c | 3 +-- 5 files changed, 16 insertions(+), 8 deletions(-)
+uint64_t cpu_x86_get_msr_core_thread_count(X86CPU *cpu) +{ + CPUState *cs = CPU(cpu); + uint64_t val; + + val = cs->nr_threads * cs->nr_cores; /* thread count, bits 15..0 */ + val |= ((uint32_t)cs->nr_cores << 16); /* core count, bits 31..16 */ + + return val;
Alternatively: return deposit64(cs->nr_threads * cs->nr_cores, 16, 16, cs->nr_cores);
+}
[Prev in Thread] | Current Thread | [Next in Thread] |