Marcelo Tosatti
b74f05d61b
x86: kvmclock: abstract save/restore sched_clock_state
...
Upon resume from hibernation, CPU 0's hvclock area contains the old
values for system_time and tsc_timestamp. It is necessary for the
hypervisor to update these values with uptodate ones before the CPU uses
them.
Abstract TSC's save/restore sched_clock_state functions and use
restore_state to write to KVM_SYSTEM_TIME MSR, forcing an update.
Also move restore_sched_clock_state before __restore_processor_state,
since the later calls CONFIG_LOCK_STAT's lockstat_clock (also for TSC).
Thanks to Igor Mammedov for tracking it down.
Fixes suspend-to-disk with kvmclock.
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com >
Signed-off-by: Avi Kivity <avi@redhat.com >
2012-03-20 12:37:45 +02:00
..
2011-12-23 11:00:50 -08:00
2012-01-08 12:35:44 +01:00
2012-02-27 07:55:51 -08:00
2011-11-14 13:05:15 +01:00
2011-09-27 18:08:04 +02:00
2012-01-11 18:50:26 -08:00
2011-07-23 10:34:47 -07:00
2011-07-14 11:47:53 -07:00
2012-01-13 09:32:18 +10:30
2011-11-17 13:35:37 -08:00
2011-11-17 13:35:37 -08:00
2011-12-12 14:26:10 -08:00
2011-07-14 11:47:53 -07:00
2012-01-03 22:54:55 -05:00
2011-10-10 06:56:57 +02:00
2011-10-31 19:30:35 -04:00
2011-12-19 13:09:56 -08:00
2012-02-02 11:11:13 -08:00
2012-01-26 21:28:45 +01:00
2012-01-18 15:51:48 -08:00
2012-01-11 19:13:40 -08:00
2012-01-17 16:41:31 -08:00
2012-02-20 19:45:26 -05:00
2011-05-25 19:56:26 -04:00
2011-12-08 10:22:07 -08:00
2011-12-08 10:22:07 -08:00
2011-12-21 15:38:55 -05:00
2011-07-14 11:47:53 -07:00
2012-01-07 12:03:30 -08:00
2011-07-21 14:10:00 +02:00
2011-07-01 10:37:14 +02:00
2011-07-26 16:49:47 -07:00
2011-12-05 12:25:44 +01:00
2011-12-07 09:27:11 +01:00
2012-01-06 13:58:21 -08:00
2011-12-21 16:26:03 -08:00
2011-12-06 20:41:02 +01:00
2011-10-10 06:56:57 +02:00
2011-10-26 17:03:38 +02:00
2011-12-27 11:17:08 +02:00
2012-03-20 12:37:45 +02:00
2012-01-16 18:19:19 -08:00
2012-02-07 10:53:42 +01:00
2012-01-07 12:03:30 -08:00
2011-10-14 13:16:35 +02:00
2011-07-24 22:06:04 +09:30
2011-12-20 12:14:26 +01:00
2012-01-03 22:54:55 -05:00
2011-12-07 23:26:57 +01:00
2011-12-21 15:38:55 -05:00
2011-08-12 20:46:24 -07:00
2011-06-10 14:55:36 +02:00
2011-11-15 12:22:31 +01:00
2011-05-10 10:21:35 +02:00
2011-10-31 19:30:35 -04:00
2012-02-20 10:58:54 -08:00
2012-02-20 10:58:54 -08:00
2011-12-06 10:02:38 +01:00
2012-01-17 16:16:56 -05:00
2011-12-05 18:13:11 +01:00
2011-05-02 14:44:46 -07:00
2012-01-30 10:52:33 +01:00
2011-07-21 11:19:28 +02:00
2011-07-21 11:19:28 +02:00
2011-12-05 17:09:21 +01:00
2012-01-11 19:12:33 -08:00
2012-01-10 16:30:54 -08:00
2012-01-07 12:19:37 +01:00
2012-03-05 14:57:32 +02:00
2011-06-14 22:48:51 -04:00
2011-08-04 16:13:49 -07:00
2011-09-28 10:34:31 +02:00
2011-11-18 16:25:07 -08:00
2011-11-17 13:35:37 -08:00
2011-10-31 19:30:35 -04:00
2011-05-21 19:10:33 +02:00
2011-10-31 19:30:35 -04:00
2011-10-31 19:30:35 -04:00
2011-07-14 11:47:53 -07:00
2012-02-20 10:58:28 -08:00
2011-12-05 18:00:31 +01:00
2012-03-20 12:37:45 +02:00
2012-01-17 18:10:11 -08:00
2011-08-10 19:26:46 -05:00
2011-12-05 12:17:29 +01:00
2011-08-10 19:26:46 -05:00
2011-08-04 16:13:53 -07:00
2012-03-20 12:37:45 +02:00
2012-02-18 10:19:41 -08:00