|
@@ -468,11 +468,16 @@ static struct cyclecounter cyclecounter = {
|
|
|
.mask = CLOCKSOURCE_MASK(56),
|
|
|
};
|
|
|
|
|
|
-static struct timecounter timecounter;
|
|
|
+static struct arch_timer_kvm_info arch_timer_kvm_info;
|
|
|
+
|
|
|
+struct arch_timer_kvm_info *arch_timer_get_kvm_info(void)
|
|
|
+{
|
|
|
+ return &arch_timer_kvm_info;
|
|
|
+}
|
|
|
|
|
|
struct timecounter *arch_timer_get_timecounter(void)
|
|
|
{
|
|
|
- return &timecounter;
|
|
|
+ return &arch_timer_kvm_info.timecounter;
|
|
|
}
|
|
|
|
|
|
static void __init arch_counter_register(unsigned type)
|
|
@@ -500,7 +505,8 @@ static void __init arch_counter_register(unsigned type)
|
|
|
clocksource_register_hz(&clocksource_counter, arch_timer_rate);
|
|
|
cyclecounter.mult = clocksource_counter.mult;
|
|
|
cyclecounter.shift = clocksource_counter.shift;
|
|
|
- timecounter_init(&timecounter, &cyclecounter, start_count);
|
|
|
+ timecounter_init(&arch_timer_kvm_info.timecounter,
|
|
|
+ &cyclecounter, start_count);
|
|
|
|
|
|
/* 56 bits minimum, so we assume worst case rollover */
|
|
|
sched_clock_register(arch_timer_read_counter, 56, arch_timer_rate);
|