diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c index 939a897dd3b9..03384cd27f81 100644 --- a/arch/x86/hyperv/hv_vtl.c +++ b/arch/x86/hyperv/hv_vtl.c @@ -85,6 +85,14 @@ void __init hv_vtl_init_platform(void) { pr_info("Linux runs in Hyper-V Virtual Trust Level\n"); + /* + * Disable TSC_ADJUST so that the periodic TSC sync check timer + * (start_sync_check_timer) and related TSC adjustment logic are + * skipped. The TSC exposed via Hyper-V will be consistent across + * processors. + */ + setup_clear_cpu_cap(X86_FEATURE_TSC_ADJUST); + x86_init.resources.probe_roms = x86_init_noop; /* There is no paravisor present if we are here. */ if (hv_isolation_type_tdx()) {