|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-unstable] x86: Fix early time initialisation	after 
 
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1229180575 0
# Node ID df2ee10097c7b076dccc1c705dfe266cb0172a59
# Parent  68b76ad4faf7086455a7d93b0b666cdeba24fe87
x86: Fix early time initialisation after recent changes.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/time.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
diff -r 68b76ad4faf7 -r df2ee10097c7 xen/arch/x86/time.c
--- a/xen/arch/x86/time.c       Thu Dec 11 22:32:20 2008 +0000
+++ b/xen/arch/x86/time.c       Sat Dec 13 15:02:55 2008 +0000
@@ -1131,6 +1131,9 @@ int __init init_xen_time(void)
 
     open_softirq(TIME_CALIBRATE_SOFTIRQ, local_time_calibration);
 
+    /* System time (get_s_time()) starts ticking from now. */
+    rdtscll(this_cpu(cpu_time).local_tsc_stamp);
+
     /* NB. get_cmos_time() can take over one second to execute. */
     do_settime(get_cmos_time(), 0, NOW());
 
@@ -1146,12 +1149,9 @@ int __init init_xen_time(void)
 /* Early init function. */
 void __init early_time_init(void)
 {
-    struct cpu_time *t = &this_cpu(cpu_time);
     u64 tmp = init_pit_and_calibrate_tsc();
 
-    /* So we can use get_s_time() during early boot. */
-    set_time_scale(&t->tsc_scale, tmp);
-    rdtscll(t->local_tsc_stamp);
+    set_time_scale(&this_cpu(cpu_time).tsc_scale, tmp);
 
     do_div(tmp, 1000);
     cpu_khz = (unsigned long)tmp;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread> |  
- [Xen-changelog] [xen-unstable] x86: Fix early time initialisation	after recent changes.,
Xen patchbot-unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |