Move kvmclock's sched_clock save/restore helper "up" so that they can
(eventually) be referenced by kvm_sched_clock_init().

No functional change intended.

Signed-off-by: Sean Christopherson <sea...@google.com>
---
 arch/x86/kernel/kvmclock.c | 108 ++++++++++++++++++-------------------
 1 file changed, 54 insertions(+), 54 deletions(-)

diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c
index aae6fba21331..c78db52ae399 100644
--- a/arch/x86/kernel/kvmclock.c
+++ b/arch/x86/kernel/kvmclock.c
@@ -70,6 +70,25 @@ static int kvm_set_wallclock(const struct timespec64 *now)
        return -ENODEV;
 }
 
+static void kvm_register_clock(char *txt)
+{
+       struct pvclock_vsyscall_time_info *src = this_cpu_hvclock();
+       u64 pa;
+
+       if (!src)
+               return;
+
+       pa = slow_virt_to_phys(&src->pvti) | 0x01ULL;
+       wrmsrl(msr_kvm_system_time, pa);
+       pr_debug("kvm-clock: cpu %d, msr %llx, %s", smp_processor_id(), pa, 
txt);
+}
+
+static void kvmclock_disable(void)
+{
+       if (msr_kvm_system_time)
+               native_write_msr(msr_kvm_system_time, 0, 0);
+}
+
 static u64 kvm_clock_read(void)
 {
        u64 ret;
@@ -90,6 +109,30 @@ static noinstr u64 kvm_sched_clock_read(void)
        return pvclock_clocksource_read_nowd(this_cpu_pvti()) - 
kvm_sched_clock_offset;
 }
 
+static void kvm_save_sched_clock_state(void)
+{
+       /*
+        * Stop host writes to kvmclock immediately prior to suspend/hibernate.
+        * If the system is hibernating, then kvmclock will likely reside at a
+        * different physical address when the system awakens, and host writes
+        * to the old address prior to reconfiguring kvmclock would clobber
+        * random memory.
+        */
+       kvmclock_disable();
+}
+
+#ifdef CONFIG_SMP
+static void kvm_setup_secondary_clock(void)
+{
+       kvm_register_clock("secondary cpu clock");
+}
+#endif
+
+static void kvm_restore_sched_clock_state(void)
+{
+       kvm_register_clock("primary cpu clock, resume");
+}
+
 static inline void kvm_sched_clock_init(bool stable)
 {
        kvm_sched_clock_offset = kvm_clock_read();
@@ -102,6 +145,17 @@ static inline void kvm_sched_clock_init(bool stable)
                sizeof(((struct pvclock_vcpu_time_info *)NULL)->system_time));
 }
 
+void kvmclock_cpu_action(enum kvm_guest_cpu_action action)
+{
+       /*
+        * Don't disable kvmclock on the BSP during suspend.  If kvmclock is
+        * being used for sched_clock, then it needs to be kept alive until the
+        * last minute, and restored as quickly as possible after resume.
+        */
+       if (action != KVM_GUEST_BSP_SUSPEND)
+               kvmclock_disable();
+}
+
 /*
  * If we don't do that, there is the possibility that the guest
  * will calibrate under heavy load - thus, getting a lower lpj -
@@ -161,60 +215,6 @@ static struct clocksource kvm_clock = {
        .enable = kvm_cs_enable,
 };
 
-static void kvm_register_clock(char *txt)
-{
-       struct pvclock_vsyscall_time_info *src = this_cpu_hvclock();
-       u64 pa;
-
-       if (!src)
-               return;
-
-       pa = slow_virt_to_phys(&src->pvti) | 0x01ULL;
-       wrmsrl(msr_kvm_system_time, pa);
-       pr_debug("kvm-clock: cpu %d, msr %llx, %s", smp_processor_id(), pa, 
txt);
-}
-
-static void kvmclock_disable(void)
-{
-       if (msr_kvm_system_time)
-               native_write_msr(msr_kvm_system_time, 0, 0);
-}
-
-static void kvm_save_sched_clock_state(void)
-{
-       /*
-        * Stop host writes to kvmclock immediately prior to suspend/hibernate.
-        * If the system is hibernating, then kvmclock will likely reside at a
-        * different physical address when the system awakens, and host writes
-        * to the old address prior to reconfiguring kvmclock would clobber
-        * random memory.
-        */
-       kvmclock_disable();
-}
-
-static void kvm_restore_sched_clock_state(void)
-{
-       kvm_register_clock("primary cpu clock, resume");
-}
-
-void kvmclock_cpu_action(enum kvm_guest_cpu_action action)
-{
-       /*
-        * Don't disable kvmclock on the BSP during suspend.  If kvmclock is
-        * being used for sched_clock, then it needs to be kept alive until the
-        * last minute, and restored as quickly as possible after resume.
-        */
-       if (action != KVM_GUEST_BSP_SUSPEND)
-               kvmclock_disable();
-}
-
-#ifdef CONFIG_SMP
-static void kvm_setup_secondary_clock(void)
-{
-       kvm_register_clock("secondary cpu clock");
-}
-#endif
-
 static void __init kvmclock_init_mem(void)
 {
        unsigned long ncpus;
-- 
2.48.1.711.g2feabab25a-goog


Reply via email to