Author: kmacy
Date: Tue Oct 21 06:38:40 2008
New Revision: 184111
URL: http://svn.freebsd.org/changeset/base/184111

Log:
  Add routine for initializing AP clock

Modified:
  head/sys/i386/xen/clock.c

Modified: head/sys/i386/xen/clock.c
==============================================================================
--- head/sys/i386/xen/clock.c   Tue Oct 21 06:38:05 2008        (r184110)
+++ head/sys/i386/xen/clock.c   Tue Oct 21 06:38:40 2008        (r184111)
@@ -766,27 +766,28 @@ cpu_initclocks(void)
        }
 
        /* should fast clock be enabled ? */
+       
 }
 
-/*
- *
- * XXX 
- */
-#if 0 && defined(SMP)
-void
-ap_cpu_initclocks(void)
+int
+ap_cpu_initclocks(int cpu)
 {
-       int irq;
-       int cpu = smp_processor_id();
-       
-       per_cpu(processed_system_time, cpu) = processed_system_time;
+       int time_irq;
+
+       xen_set_periodic_tick.period_ns = NS_PER_TICK;
 
-       irq = bind_virq_to_irq(VIRQ_TIMER);
-       PCPU_SET(time_irq, irq);
-       PANIC_IF(intr_add_handler("clk", irq, (driver_filter_t *)clkintr, NULL,
-                                 NULL, INTR_TYPE_CLK | INTR_FAST, NULL));
+       HYPERVISOR_vcpu_op(VCPUOP_set_periodic_timer, cpu,
+                          &xen_set_periodic_tick);
+
+        if ((time_irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, "clk", 
+                                               (driver_filter_t *)clkintr, 
NULL,
+                                               INTR_TYPE_CLK | INTR_FAST)) < 
0) {
+               panic("failed to register clock interrupt\n");
+       }
+
+       return (0);
 }
-#endif
+
 
 void
 cpu_startprofclock(void)
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to