|
@@ -45,6 +45,19 @@ void pvclock_resume(void)
|
|
|
atomic64_set(&last_value, 0);
|
|
|
}
|
|
|
|
|
|
+u8 pvclock_read_flags(struct pvclock_vcpu_time_info *src)
|
|
|
+{
|
|
|
+ unsigned version;
|
|
|
+ cycle_t ret;
|
|
|
+ u8 flags;
|
|
|
+
|
|
|
+ do {
|
|
|
+ version = __pvclock_read_cycles(src, &ret, &flags);
|
|
|
+ } while ((src->version & 1) || version != src->version);
|
|
|
+
|
|
|
+ return flags & valid_flags;
|
|
|
+}
|
|
|
+
|
|
|
cycle_t pvclock_clocksource_read(struct pvclock_vcpu_time_info *src)
|
|
|
{
|
|
|
unsigned version;
|