Messages in this thread Patch in this message | | | From | Fei Li <> | Subject | [PATCH] x86/acrn: Set X86_FEATURE_TSC_KNOWN_FREQ | Date | Tue, 25 Oct 2022 16:41:47 +0800 |
| |
Avoiding recalibration by setting X86_FEATURE_TSC_KNOWN_FREQ. This patch also removes `inline` for acrn_get_tsc_khz() since it doesn't make sense.
Signed-off-by: Fei Li <fei1.li@intel.com> Reviewed-by: Yin, Fengwei <fengwei.yin@intel.com> --- arch/x86/include/asm/acrn.h | 5 ----- arch/x86/kernel/cpu/acrn.c | 6 ++++++ 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/arch/x86/include/asm/acrn.h b/arch/x86/include/asm/acrn.h index 1dd14381bcb6..aa12c74ea959 100644 --- a/arch/x86/include/asm/acrn.h +++ b/arch/x86/include/asm/acrn.h @@ -30,11 +30,6 @@ static inline u32 acrn_cpuid_base(void) return 0; } -static inline unsigned long acrn_get_tsc_khz(void) -{ - return cpuid_eax(ACRN_CPUID_TIMING_INFO); -} - /* * Hypercalls for ACRN * diff --git a/arch/x86/kernel/cpu/acrn.c b/arch/x86/kernel/cpu/acrn.c index 485441b7f030..c5ff75b6a949 100644 --- a/arch/x86/kernel/cpu/acrn.c +++ b/arch/x86/kernel/cpu/acrn.c @@ -24,6 +24,12 @@ static u32 __init acrn_detect(void) return acrn_cpuid_base(); } +static unsigned long acrn_get_tsc_khz(void) +{ + setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ); + return cpuid_eax(ACRN_CPUID_TIMING_INFO); +} + static void __init acrn_init_platform(void) { /* Setup the IDT for ACRN hypervisor callback */ base-commit: 1a2dcbdde82e3a5f1db9b2f4c48aa1aeba534fb2 -- 2.34.1
| |