aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/xen')
-rw-r--r--arch/x86/xen/enlighten.c2
-rw-r--r--arch/x86/xen/time.c5
-rw-r--r--arch/x86/xen/xen-ops.h1
3 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index dfbf70e6586..cb61f77e449 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -148,6 +148,8 @@ void xen_vcpu_restore(void)
148 HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL)) 148 HYPERVISOR_vcpu_op(VCPUOP_down, cpu, NULL))
149 BUG(); 149 BUG();
150 150
151 xen_setup_runstate_info(cpu);
152
151 xen_vcpu_setup(cpu); 153 xen_vcpu_setup(cpu);
152 154
153 if (other_cpu && 155 if (other_cpu &&
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 0a5aa44299a..6bbff94328d 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -100,7 +100,7 @@ bool xen_vcpu_stolen(int vcpu)
100 return per_cpu(runstate, vcpu).state == RUNSTATE_runnable; 100 return per_cpu(runstate, vcpu).state == RUNSTATE_runnable;
101} 101}
102 102
103static void setup_runstate_info(int cpu) 103void xen_setup_runstate_info(int cpu)
104{ 104{
105 struct vcpu_register_runstate_memory_area area; 105 struct vcpu_register_runstate_memory_area area;
106 106
@@ -442,8 +442,6 @@ void xen_setup_timer(int cpu)
442 442
443 evt->cpumask = cpumask_of(cpu); 443 evt->cpumask = cpumask_of(cpu);
444 evt->irq = irq; 444 evt->irq = irq;
445
446 setup_runstate_info(cpu);
447} 445}
448 446
449void xen_teardown_timer(int cpu) 447void xen_teardown_timer(int cpu)
@@ -494,6 +492,7 @@ __init void xen_time_init(void)
494 492
495 setup_force_cpu_cap(X86_FEATURE_TSC); 493 setup_force_cpu_cap(X86_FEATURE_TSC);
496 494
495 xen_setup_runstate_info(cpu);
497 xen_setup_timer(cpu); 496 xen_setup_timer(cpu);
498 xen_setup_cpu_clockevents(); 497 xen_setup_cpu_clockevents();
499} 498}
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 355fa6b99c9..32529326683 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -41,6 +41,7 @@ void __init xen_build_dynamic_phys_to_machine(void);
41 41
42void xen_init_irq_ops(void); 42void xen_init_irq_ops(void);
43void xen_setup_timer(int cpu); 43void xen_setup_timer(int cpu);
44void xen_setup_runstate_info(int cpu);
44void xen_teardown_timer(int cpu); 45void xen_teardown_timer(int cpu);
45cycle_t xen_clocksource_read(void); 46cycle_t xen_clocksource_read(void);
46void xen_setup_cpu_clockevents(void); 47void xen_setup_cpu_clockevents(void);