x86/time: report correct frequency of Xen PV clocksource

The value of the counter represents the number of nanoseconds
since host boot. That means the correct frequency is always 1GHz.

This inconsistency caused time to go slower in PV shim on most
platforms.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
This commit is contained in:
Igor Druzhinin authored and Andrew Cooper committed 2020-02-14 18:01:52 +00:00
1 parent a7a3ecd82e
commit c52bd545de
1 file changed
+2 -3
+2 -3
View File
@@ -588,9 +588,7 @@ static int64_t __init init_xen_timer(struct platform_timesource *pts)
if ( !xen_guest )
return 0;
pts->frequency = xen_timer_cpu_frequency();
return pts->frequency;
return xen_timer_cpu_frequency();
}
static always_inline uint64_t read_cycle(const struct vcpu_time_info *info,
@@ -644,6 +642,7 @@ static struct platform_timesource __initdata plt_xen_timer =
{
.id = "xen",
.name = "XEN PV CLOCK",
.frequency = 1000000000ULL,
.read_counter = read_xen_timer,
.init = init_xen_timer,
.resume = resume_xen_timer,
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.