Skip to content

Commit

Permalink
clocksource/hyperv: use MSR-based access if running as root
Browse files Browse the repository at this point in the history
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 <wei.liu@kernel.org>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20210203150435.27941-5-wei.liu@kernel.org
  • Loading branch information
Wei Liu committed Feb 11, 2021
1 parent 7e279d7 commit 7d4163c
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions drivers/clocksource/hyperv_timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -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());

Expand Down

0 comments on commit 7d4163c

Please sign in to comment.