From: Wei Liu Date: Wed, 3 Feb 2021 15:04:23 +0000 (+0000) Subject: clocksource/hyperv: use MSR-based access if running as root X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7d4163c8315729140ad99d6e1ab10dfc7a685640;p=linux.git clocksource/hyperv: use MSR-based access if running as root When Linux runs as the root partition, the setup required for TSC page is different. Luckily Linux also has access to the MSR based clocksource. We can just disable the TSC page clocksource if Linux is the root partition. Signed-off-by: Wei Liu Acked-by: Daniel Lezcano Reviewed-by: Pavel Tatashin Reviewed-by: Michael Kelley Link: https://lore.kernel.org/r/20210203150435.27941-5-wei.liu@kernel.org --- diff --git a/drivers/clocksource/hyperv_timer.c b/drivers/clocksource/hyperv_timer.c index ba04cb381cd3f..269a691bd2c45 100644 --- a/drivers/clocksource/hyperv_timer.c +++ b/drivers/clocksource/hyperv_timer.c @@ -426,6 +426,9 @@ static bool __init hv_init_tsc_clocksource(void) if (!(ms_hyperv.features & HV_MSR_REFERENCE_TSC_AVAILABLE)) return false; + if (hv_root_partition) + return false; + hv_read_reference_counter = read_hv_clock_tsc; phys_addr = virt_to_phys(hv_get_tsc_page());