aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/Kconfig2
-rw-r--r--arch/i386/kernel/vmi.c1
-rw-r--r--arch/i386/kernel/vmitime.c15
3 files changed, 2 insertions, 16 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 2f7672545fe9..e970887b9e69 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -220,7 +220,7 @@ config PARAVIRT
220 220
221config VMI 221config VMI
222 bool "VMI Paravirt-ops support" 222 bool "VMI Paravirt-ops support"
223 depends on PARAVIRT && !NO_HZ 223 depends on PARAVIRT
224 default y 224 default y
225 help 225 help
226 VMI provides a paravirtualized interface to multiple hypervisors 226 VMI provides a paravirtualized interface to multiple hypervisors
diff --git a/arch/i386/kernel/vmi.c b/arch/i386/kernel/vmi.c
index a8aa57e77029..30e8253e6eef 100644
--- a/arch/i386/kernel/vmi.c
+++ b/arch/i386/kernel/vmi.c
@@ -934,6 +934,7 @@ void __init vmi_init(void)
934#ifdef CONFIG_X86_IO_APIC 934#ifdef CONFIG_X86_IO_APIC
935 no_timer_check = 1; 935 no_timer_check = 1;
936#endif 936#endif
937 no_sync_cmos_clock = 1;
937 938
938 local_irq_restore(flags & X86_EFLAGS_IF); 939 local_irq_restore(flags & X86_EFLAGS_IF);
939} 940}
diff --git a/arch/i386/kernel/vmitime.c b/arch/i386/kernel/vmitime.c
index 4bb218e2eb14..d21779749838 100644
--- a/arch/i386/kernel/vmitime.c
+++ b/arch/i386/kernel/vmitime.c
@@ -153,13 +153,6 @@ static void vmi_get_wallclock_ts(struct timespec *ts)
153 ts->tv_sec = wallclock; 153 ts->tv_sec = wallclock;
154} 154}
155 155
156static void update_xtime_from_wallclock(void)
157{
158 struct timespec ts;
159 vmi_get_wallclock_ts(&ts);
160 do_settimeofday(&ts);
161}
162
163unsigned long vmi_get_wallclock(void) 156unsigned long vmi_get_wallclock(void)
164{ 157{
165 struct timespec ts; 158 struct timespec ts;
@@ -197,18 +190,10 @@ void __init vmi_time_init(void)
197 set_intr_gate(LOCAL_TIMER_VECTOR, apic_vmi_timer_interrupt); 190 set_intr_gate(LOCAL_TIMER_VECTOR, apic_vmi_timer_interrupt);
198#endif 191#endif
199 192
200 no_sync_cmos_clock = 1;
201
202 vmi_get_wallclock_ts(&xtime);
203 set_normalized_timespec(&wall_to_monotonic,
204 -xtime.tv_sec, -xtime.tv_nsec);
205
206 real_cycles_accounted_system = read_real_cycles(); 193 real_cycles_accounted_system = read_real_cycles();
207 update_xtime_from_wallclock();
208 per_cpu(process_times_cycles_accounted_cpu, 0) = read_available_cycles(); 194 per_cpu(process_times_cycles_accounted_cpu, 0) = read_available_cycles();
209 195
210 cycles_per_sec = vmi_timer_ops.get_cycle_frequency(); 196 cycles_per_sec = vmi_timer_ops.get_cycle_frequency();
211
212 cycles_per_jiffy = cycles_per_sec; 197 cycles_per_jiffy = cycles_per_sec;
213 (void)do_div(cycles_per_jiffy, HZ); 198 (void)do_div(cycles_per_jiffy, HZ);
214 cycles_per_alarm = cycles_per_sec; 199 cycles_per_alarm = cycles_per_sec;