[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Reindent more xenlinux files. Remove defunct header file.



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID c317e0aca9f12b086bdfe1f442a7c2221605a2bd
# Parent  e04b0805febb44a922fcdd4744b9e71a65064417
Reindent more xenlinux files. Remove defunct header file.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/arch/xen/kernel/devmem.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c     Thu Sep 29 10:10:27 2005
@@ -144,3 +144,13 @@
        .mmap           = mmap_mem,
        .open           = open_mem,
 };
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c     Thu Sep 29 10:10:27 2005
@@ -3,7 +3,7 @@
  * 
  * Communication via Xen event channels.
  * 
- * Copyright (c) 2002-2004, K A Fraser
+ * Copyright (c) 2002-2005, K A Fraser
  * 
  * This file may be distributed separately from the Linux kernel, or
  * incorporated into other software packages, subject to the following license:
@@ -73,23 +73,23 @@
 static u8  cpu_evtchn[NR_EVENT_CHANNELS];
 static u32 cpu_evtchn_mask[NR_CPUS][NR_EVENT_CHANNELS/32];
 
-#define active_evtchns(cpu,sh,idx)              \
-    ((sh)->evtchn_pending[idx] &                \
-     cpu_evtchn_mask[cpu][idx] &                \
-     ~(sh)->evtchn_mask[idx])
+#define active_evtchns(cpu,sh,idx)             \
+       ((sh)->evtchn_pending[idx] &            \
+        cpu_evtchn_mask[cpu][idx] &            \
+        ~(sh)->evtchn_mask[idx])
 
 void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
 {
-    clear_bit(chn, (unsigned long *)cpu_evtchn_mask[cpu_evtchn[chn]]);
-    set_bit(chn, (unsigned long *)cpu_evtchn_mask[cpu]);
-    cpu_evtchn[chn] = cpu;
+       clear_bit(chn, (unsigned long *)cpu_evtchn_mask[cpu_evtchn[chn]]);
+       set_bit(chn, (unsigned long *)cpu_evtchn_mask[cpu]);
+       cpu_evtchn[chn] = cpu;
 }
 
 #else
 
-#define active_evtchns(cpu,sh,idx)              \
-    ((sh)->evtchn_pending[idx] &                \
-     ~(sh)->evtchn_mask[idx])
+#define active_evtchns(cpu,sh,idx)             \
+       ((sh)->evtchn_pending[idx] &            \
+        ~(sh)->evtchn_mask[idx])
 
 void bind_evtchn_to_cpu(unsigned int chn, unsigned int cpu)
 {
@@ -108,9 +108,9 @@
 #elif defined (__x86_64__)
 #define IRQ_REG orig_rax
 #endif
-#define do_IRQ(irq, regs) do {                  \
-    (regs)->IRQ_REG = (irq);                    \
-    do_IRQ((regs));                             \
+#define do_IRQ(irq, regs) do {                 \
+       (regs)->IRQ_REG = (irq);                \
+       do_IRQ((regs));                         \
 } while (0)
 #endif
 
@@ -123,249 +123,236 @@
  */
 void force_evtchn_callback(void)
 {
-    (void)HYPERVISOR_xen_version(0, NULL);
+       (void)HYPERVISOR_xen_version(0, NULL);
 }
 EXPORT_SYMBOL(force_evtchn_callback);
 
 /* NB. Interrupts are disabled on entry. */
 asmlinkage void evtchn_do_upcall(struct pt_regs *regs)
 {
-    u32     l1, l2;
-    unsigned int   l1i, l2i, port;
-    int            irq, cpu = smp_processor_id();
-    shared_info_t *s = HYPERVISOR_shared_info;
-    vcpu_info_t   *vcpu_info = &s->vcpu_data[cpu];
-
-    vcpu_info->evtchn_upcall_pending = 0;
-
-    /* NB. No need for a barrier here -- XCHG is a barrier on x86. */
-    l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
-    while ( l1 != 0 )
-    {
-        l1i = __ffs(l1);
-        l1 &= ~(1 << l1i);
+       u32     l1, l2;
+       unsigned int   l1i, l2i, port;
+       int            irq, cpu = smp_processor_id();
+       shared_info_t *s = HYPERVISOR_shared_info;
+       vcpu_info_t   *vcpu_info = &s->vcpu_data[cpu];
+
+       vcpu_info->evtchn_upcall_pending = 0;
+
+       /* NB. No need for a barrier here -- XCHG is a barrier on x86. */
+       l1 = xchg(&vcpu_info->evtchn_pending_sel, 0);
+       while (l1 != 0) {
+               l1i = __ffs(l1);
+               l1 &= ~(1 << l1i);
         
-        while ( (l2 = active_evtchns(cpu, s, l1i)) != 0 )
-        {
-            l2i = __ffs(l2);
-            l2 &= ~(1 << l2i);
+               while ((l2 = active_evtchns(cpu, s, l1i)) != 0) {
+                       l2i = __ffs(l2);
+                       l2 &= ~(1 << l2i);
             
-            port = (l1i << 5) + l2i;
-            if ( (irq = evtchn_to_irq[port]) != -1 ) {
-                do_IRQ(irq, regs);
-           } else
-                evtchn_device_upcall(port);
-        }
-    }
+                       port = (l1i << 5) + l2i;
+                       if ((irq = evtchn_to_irq[port]) != -1)
+                               do_IRQ(irq, regs);
+                       else
+                               evtchn_device_upcall(port);
+               }
+       }
 }
 EXPORT_SYMBOL(evtchn_do_upcall);
 
 static int find_unbound_irq(void)
 {
-    int irq;
-
-    for ( irq = 0; irq < NR_IRQS; irq++ )
-        if ( irq_bindcount[irq] == 0 )
-            break;
-
-    if ( irq == NR_IRQS )
-        panic("No available IRQ to bind to: increase NR_IRQS!\n");
-
-    return irq;
+       int irq;
+
+       for (irq = 0; irq < NR_IRQS; irq++)
+               if (irq_bindcount[irq] == 0)
+                       break;
+
+       if (irq == NR_IRQS)
+               panic("No available IRQ to bind to: increase NR_IRQS!\n");
+
+       return irq;
 }
 
 int bind_virq_to_irq(int virq)
 {
-    evtchn_op_t op;
-    int evtchn, irq;
-    int cpu = smp_processor_id();
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( (irq = per_cpu(virq_to_irq, cpu)[virq]) == -1 )
-    {
-        op.cmd              = EVTCHNOP_bind_virq;
-        op.u.bind_virq.virq = virq;
-        if ( HYPERVISOR_event_channel_op(&op) != 0 )
-            panic("Failed to bind virtual IRQ %d\n", virq);
-        evtchn = op.u.bind_virq.port;
-
-        irq = find_unbound_irq();
-        evtchn_to_irq[evtchn] = irq;
-        irq_to_evtchn[irq]    = evtchn;
-
-        per_cpu(virq_to_irq, cpu)[virq] = irq;
-
-        bind_evtchn_to_cpu(evtchn, cpu);
-    }
-
-    irq_bindcount[irq]++;
-
-    spin_unlock(&irq_mapping_update_lock);
+       evtchn_op_t op;
+       int evtchn, irq;
+       int cpu = smp_processor_id();
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if ((irq = per_cpu(virq_to_irq, cpu)[virq]) == -1) {
+               op.cmd              = EVTCHNOP_bind_virq;
+               op.u.bind_virq.virq = virq;
+               BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+               evtchn = op.u.bind_virq.port;
+
+               irq = find_unbound_irq();
+               evtchn_to_irq[evtchn] = irq;
+               irq_to_evtchn[irq]    = evtchn;
+
+               per_cpu(virq_to_irq, cpu)[virq] = irq;
+
+               bind_evtchn_to_cpu(evtchn, cpu);
+       }
+
+       irq_bindcount[irq]++;
+
+       spin_unlock(&irq_mapping_update_lock);
     
-    return irq;
+       return irq;
 }
 EXPORT_SYMBOL(bind_virq_to_irq);
 
 void unbind_virq_from_irq(int virq)
 {
-    evtchn_op_t op;
-    int cpu    = smp_processor_id();
-    int irq    = per_cpu(virq_to_irq, cpu)[virq];
-    int evtchn = irq_to_evtchn[irq];
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( --irq_bindcount[irq] == 0 )
-    {
-        op.cmd          = EVTCHNOP_close;
-        op.u.close.dom  = DOMID_SELF;
-        op.u.close.port = evtchn;
-        if ( HYPERVISOR_event_channel_op(&op) != 0 )
-            panic("Failed to unbind virtual IRQ %d\n", virq);
-
-        /*
-         * This is a slight hack. Interdomain ports can be allocated directly 
-         * by userspace, and at that point they get bound by Xen to vcpu 0. We 
-         * therefore need to make sure that if we get an event on an event 
-         * channel we don't know about vcpu 0 handles it. Binding channels to 
-         * vcpu 0 when closing them achieves this.
-         */
-        bind_evtchn_to_cpu(evtchn, 0);
-        evtchn_to_irq[evtchn] = -1;
-        irq_to_evtchn[irq]    = -1;
-        per_cpu(virq_to_irq, cpu)[virq]     = -1;
-    }
-
-    spin_unlock(&irq_mapping_update_lock);
+       evtchn_op_t op;
+       int cpu    = smp_processor_id();
+       int irq    = per_cpu(virq_to_irq, cpu)[virq];
+       int evtchn = irq_to_evtchn[irq];
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if (--irq_bindcount[irq] == 0) {
+               op.cmd          = EVTCHNOP_close;
+               op.u.close.dom  = DOMID_SELF;
+               op.u.close.port = evtchn;
+               BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+
+               /*
+                * This is a slight hack. Interdomain ports can be allocated 
+                * directly by userspace, and at that point they get bound by 
+                * Xen to vcpu 0. We therefore need to make sure that if we get
+                * an event on an event channel we don't know about vcpu 0 
+                * handles it. Binding channels to vcpu 0 when closing them
+                * achieves this.
+                */
+               bind_evtchn_to_cpu(evtchn, 0);
+               evtchn_to_irq[evtchn] = -1;
+               irq_to_evtchn[irq]    = -1;
+               per_cpu(virq_to_irq, cpu)[virq] = -1;
+       }
+
+       spin_unlock(&irq_mapping_update_lock);
 }
 EXPORT_SYMBOL(unbind_virq_from_irq);
 
 int bind_ipi_to_irq(int ipi)
 {
-    evtchn_op_t op;
-    int evtchn, irq;
-    int cpu = smp_processor_id();
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( (evtchn = per_cpu(ipi_to_evtchn, cpu)[ipi]) == 0 )
-    {
-        op.cmd = EVTCHNOP_bind_ipi;
-        if ( HYPERVISOR_event_channel_op(&op) != 0 )
-            panic("Failed to bind virtual IPI %d on cpu %d\n", ipi, cpu);
-        evtchn = op.u.bind_ipi.port;
-
-        irq = find_unbound_irq();
-        evtchn_to_irq[evtchn] = irq;
-        irq_to_evtchn[irq]    = evtchn;
-
-        per_cpu(ipi_to_evtchn, cpu)[ipi] = evtchn;
-
-        bind_evtchn_to_cpu(evtchn, cpu);
-    } 
-    else
-    {
-        irq = evtchn_to_irq[evtchn];
-    }
-
-    irq_bindcount[irq]++;
-
-    spin_unlock(&irq_mapping_update_lock);
-
-    return irq;
+       evtchn_op_t op;
+       int evtchn, irq;
+       int cpu = smp_processor_id();
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if ((evtchn = per_cpu(ipi_to_evtchn, cpu)[ipi]) == 0) {
+               op.cmd = EVTCHNOP_bind_ipi;
+               BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+               evtchn = op.u.bind_ipi.port;
+
+               irq = find_unbound_irq();
+               evtchn_to_irq[evtchn] = irq;
+               irq_to_evtchn[irq]    = evtchn;
+
+               per_cpu(ipi_to_evtchn, cpu)[ipi] = evtchn;
+
+               bind_evtchn_to_cpu(evtchn, cpu);
+       } else {
+               irq = evtchn_to_irq[evtchn];
+       }
+
+       irq_bindcount[irq]++;
+
+       spin_unlock(&irq_mapping_update_lock);
+
+       return irq;
 }
 EXPORT_SYMBOL(bind_ipi_to_irq);
 
 void unbind_ipi_from_irq(int ipi)
 {
-    evtchn_op_t op;
-    int cpu    = smp_processor_id();
-    int evtchn = per_cpu(ipi_to_evtchn, cpu)[ipi];
-    int irq    = evtchn_to_irq[evtchn];
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( --irq_bindcount[irq] == 0 )
-    {
-        op.cmd          = EVTCHNOP_close;
-        op.u.close.dom  = DOMID_SELF;
-        op.u.close.port = evtchn;
-        if ( HYPERVISOR_event_channel_op(&op) != 0 )
-            panic("Failed to unbind virtual IPI %d on cpu %d\n", ipi, cpu);
-
-        /* See comments in unbind_virq_from_irq */
-        bind_evtchn_to_cpu(evtchn, 0);
-        evtchn_to_irq[evtchn] = -1;
-        irq_to_evtchn[irq]    = -1;
-        per_cpu(ipi_to_evtchn, cpu)[ipi] = 0;
-    }
-
-    spin_unlock(&irq_mapping_update_lock);
+       evtchn_op_t op;
+       int cpu    = smp_processor_id();
+       int evtchn = per_cpu(ipi_to_evtchn, cpu)[ipi];
+       int irq    = evtchn_to_irq[evtchn];
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if (--irq_bindcount[irq] == 0) {
+               op.cmd          = EVTCHNOP_close;
+               op.u.close.dom  = DOMID_SELF;
+               op.u.close.port = evtchn;
+               BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+
+               /* See comments in unbind_virq_from_irq */
+               bind_evtchn_to_cpu(evtchn, 0);
+               evtchn_to_irq[evtchn] = -1;
+               irq_to_evtchn[irq]    = -1;
+               per_cpu(ipi_to_evtchn, cpu)[ipi] = 0;
+       }
+
+       spin_unlock(&irq_mapping_update_lock);
 }
 EXPORT_SYMBOL(unbind_ipi_from_irq);
 
 int bind_evtchn_to_irq(unsigned int evtchn)
 {
-    int irq;
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( (irq = evtchn_to_irq[evtchn]) == -1 )
-    {
-        irq = find_unbound_irq();
-        evtchn_to_irq[evtchn] = irq;
-        irq_to_evtchn[irq]    = evtchn;
-    }
-
-    irq_bindcount[irq]++;
-
-    spin_unlock(&irq_mapping_update_lock);
+       int irq;
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if ((irq = evtchn_to_irq[evtchn]) == -1) {
+               irq = find_unbound_irq();
+               evtchn_to_irq[evtchn] = irq;
+               irq_to_evtchn[irq]    = evtchn;
+       }
+
+       irq_bindcount[irq]++;
+
+       spin_unlock(&irq_mapping_update_lock);
     
-    return irq;
+       return irq;
 }
 EXPORT_SYMBOL(bind_evtchn_to_irq);
 
 void unbind_evtchn_from_irq(unsigned int evtchn)
 {
-    int irq = evtchn_to_irq[evtchn];
-
-    spin_lock(&irq_mapping_update_lock);
-
-    if ( --irq_bindcount[irq] == 0 )
-    {
-        evtchn_to_irq[evtchn] = -1;
-        irq_to_evtchn[irq]    = -1;
-    }
-
-    spin_unlock(&irq_mapping_update_lock);
+       int irq = evtchn_to_irq[evtchn];
+
+       spin_lock(&irq_mapping_update_lock);
+
+       if (--irq_bindcount[irq] == 0) {
+               evtchn_to_irq[evtchn] = -1;
+               irq_to_evtchn[irq]    = -1;
+       }
+
+       spin_unlock(&irq_mapping_update_lock);
 }
 EXPORT_SYMBOL(unbind_evtchn_from_irq);
 
 int bind_evtchn_to_irqhandler(
-    unsigned int evtchn,
-    irqreturn_t (*handler)(int, void *, struct pt_regs *),
-    unsigned long irqflags,
-    const char *devname,
-    void *dev_id)
-{
-    unsigned int irq;
-    int retval;
-
-    irq = bind_evtchn_to_irq(evtchn);
-    retval = request_irq(irq, handler, irqflags, devname, dev_id);
-    if ( retval != 0 )
-        unbind_evtchn_from_irq(evtchn);
-
-    return retval;
+       unsigned int evtchn,
+       irqreturn_t (*handler)(int, void *, struct pt_regs *),
+       unsigned long irqflags,
+       const char *devname,
+       void *dev_id)
+{
+       unsigned int irq;
+       int retval;
+
+       irq = bind_evtchn_to_irq(evtchn);
+       retval = request_irq(irq, handler, irqflags, devname, dev_id);
+       if (retval != 0)
+               unbind_evtchn_from_irq(evtchn);
+
+       return retval;
 }
 EXPORT_SYMBOL(bind_evtchn_to_irqhandler);
 
 void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id)
 {
-    unsigned int irq = evtchn_to_irq[evtchn];
-    free_irq(irq, dev_id);
-    unbind_evtchn_from_irq(evtchn);
+       unsigned int irq = evtchn_to_irq[evtchn];
+       free_irq(irq, dev_id);
+       unbind_evtchn_from_irq(evtchn);
 }
 EXPORT_SYMBOL(unbind_evtchn_from_irqhandler);
 
@@ -378,50 +365,50 @@
 /* Rebind an evtchn so that it gets delivered to a specific cpu */
 static void rebind_irq_to_cpu(unsigned irq, unsigned tcpu)
 {
-    evtchn_op_t op;
-    int evtchn;
-
-    spin_lock(&irq_mapping_update_lock);
-    evtchn = irq_to_evtchn[irq];
-    if (!VALID_EVTCHN(evtchn)) {
-        spin_unlock(&irq_mapping_update_lock);
-        return;
-    }
-
-    /* Tell Xen to send future instances of this interrupt to other vcpu. */
-    op.cmd = EVTCHNOP_bind_vcpu;
-    op.u.bind_vcpu.port = evtchn;
-    op.u.bind_vcpu.vcpu = tcpu;
-
-    /*
-     * If this fails, it usually just indicates that we're dealing with a virq 
-     * or IPI channel, which don't actually need to be rebound. Ignore it, 
-     * but don't do the xenlinux-level rebind in that case.
-     */
-    if (HYPERVISOR_event_channel_op(&op) >= 0)
-        bind_evtchn_to_cpu(evtchn, tcpu);
-
-    spin_unlock(&irq_mapping_update_lock);
-
-    /*
-     * Now send the new target processor a NOP IPI. When this returns, it 
-     * will check for any pending interrupts, and so service any that got 
-     * delivered to the wrong processor by mistake.
-     * 
-     * XXX: The only time this is called with interrupts disabled is from the 
-     * hotplug/hotunplug path. In that case, all cpus are stopped with 
-     * interrupts disabled, and the missed interrupts will be picked up when 
-     * they start again. This is kind of a hack.
-     */
-    if (!irqs_disabled())
-        smp_call_function(do_nothing_function, NULL, 0, 0);
+       evtchn_op_t op;
+       int evtchn;
+
+       spin_lock(&irq_mapping_update_lock);
+       evtchn = irq_to_evtchn[irq];
+       if (!VALID_EVTCHN(evtchn)) {
+               spin_unlock(&irq_mapping_update_lock);
+               return;
+       }
+
+       /* Send future instances of this interrupt to other vcpu. */
+       op.cmd = EVTCHNOP_bind_vcpu;
+       op.u.bind_vcpu.port = evtchn;
+       op.u.bind_vcpu.vcpu = tcpu;
+
+       /*
+        * If this fails, it usually just indicates that we're dealing with a 
+        * virq or IPI channel, which don't actually need to be rebound. Ignore
+        * it, but don't do the xenlinux-level rebind in that case.
+        */
+       if (HYPERVISOR_event_channel_op(&op) >= 0)
+               bind_evtchn_to_cpu(evtchn, tcpu);
+
+       spin_unlock(&irq_mapping_update_lock);
+
+       /*
+        * Now send the new target processor a NOP IPI. When this returns, it
+        * will check for any pending interrupts, and so service any that got 
+        * delivered to the wrong processor by mistake.
+        * 
+        * XXX: The only time this is called with interrupts disabled is from
+        * the hotplug/hotunplug path. In that case, all cpus are stopped with 
+        * interrupts disabled, and the missed interrupts will be picked up
+        * when they start again. This is kind of a hack.
+        */
+       if (!irqs_disabled())
+               smp_call_function(do_nothing_function, NULL, 0, 0);
 }
 
 
 static void set_affinity_irq(unsigned irq, cpumask_t dest)
 {
-    unsigned tcpu = first_cpu(dest);
-    rebind_irq_to_cpu(irq, tcpu);
+       unsigned tcpu = first_cpu(dest);
+       rebind_irq_to_cpu(irq, tcpu);
 }
 
 /*
@@ -430,83 +417,82 @@
 
 static unsigned int startup_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    if ( !VALID_EVTCHN(evtchn) )
-        return 0;
-    unmask_evtchn(evtchn);
-    return 0;
+       int evtchn = irq_to_evtchn[irq];
+
+       if (!VALID_EVTCHN(evtchn))
+               return 0;
+       unmask_evtchn(evtchn);
+       return 0;
 }
 
 static void shutdown_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    mask_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       mask_evtchn(evtchn);
 }
 
 static void enable_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    unmask_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+
+       unmask_evtchn(evtchn);
 }
 
 static void disable_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    mask_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+
+       mask_evtchn(evtchn);
 }
 
 static void ack_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    mask_evtchn(evtchn);
-    clear_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+
+       mask_evtchn(evtchn);
+       clear_evtchn(evtchn);
 }
 
 static void end_dynirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-
-    if ( !(irq_desc[irq].status & IRQ_DISABLED) )
-        unmask_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+
+       if (!(irq_desc[irq].status & IRQ_DISABLED))
+               unmask_evtchn(evtchn);
 }
 
 static struct hw_interrupt_type dynirq_type = {
-    "Dynamic-irq",
-    startup_dynirq,
-    shutdown_dynirq,
-    enable_dynirq,
-    disable_dynirq,
-    ack_dynirq,
-    end_dynirq,
-    set_affinity_irq
+       "Dynamic-irq",
+       startup_dynirq,
+       shutdown_dynirq,
+       enable_dynirq,
+       disable_dynirq,
+       ack_dynirq,
+       end_dynirq,
+       set_affinity_irq
 };
 
 static inline void pirq_unmask_notify(int pirq)
 {
-    physdev_op_t op;
-    if ( unlikely(test_bit(pirq, &pirq_needs_unmask_notify[0])) )
-    {
-        op.cmd = PHYSDEVOP_IRQ_UNMASK_NOTIFY;
-        (void)HYPERVISOR_physdev_op(&op);
-    }
+       physdev_op_t op;
+       if (unlikely(test_bit(pirq, &pirq_needs_unmask_notify[0]))) {
+               op.cmd = PHYSDEVOP_IRQ_UNMASK_NOTIFY;
+               (void)HYPERVISOR_physdev_op(&op);
+       }
 }
 
 static inline void pirq_query_unmask(int pirq)
 {
-    physdev_op_t op;
-    op.cmd = PHYSDEVOP_IRQ_STATUS_QUERY;
-    op.u.irq_status_query.irq = pirq;
-    (void)HYPERVISOR_physdev_op(&op);
-    clear_bit(pirq, &pirq_needs_unmask_notify[0]);
-    if ( op.u.irq_status_query.flags & PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY )
-        set_bit(pirq, &pirq_needs_unmask_notify[0]);
+       physdev_op_t op;
+       op.cmd = PHYSDEVOP_IRQ_STATUS_QUERY;
+       op.u.irq_status_query.irq = pirq;
+       (void)HYPERVISOR_physdev_op(&op);
+       clear_bit(pirq, &pirq_needs_unmask_notify[0]);
+       if (op.u.irq_status_query.flags & PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY)
+               set_bit(pirq, &pirq_needs_unmask_notify[0]);
 }
 
 /*
@@ -517,218 +503,222 @@
 
 static unsigned int startup_pirq(unsigned int irq)
 {
-    evtchn_op_t op;
-    int evtchn;
-
-    op.cmd               = EVTCHNOP_bind_pirq;
-    op.u.bind_pirq.pirq  = irq;
-    /* NB. We are happy to share unless we are probing. */
-    op.u.bind_pirq.flags = probing_irq(irq) ? 0 : BIND_PIRQ__WILL_SHARE;
-    if ( HYPERVISOR_event_channel_op(&op) != 0 )
-    {
-        if ( !probing_irq(irq) ) /* Some failures are expected when probing. */
-            printk(KERN_INFO "Failed to obtain physical IRQ %d\n", irq);
-        return 0;
-    }
-    evtchn = op.u.bind_pirq.port;
-
-    pirq_query_unmask(irq_to_pirq(irq));
-
-    bind_evtchn_to_cpu(evtchn, 0);
-    evtchn_to_irq[evtchn] = irq;
-    irq_to_evtchn[irq]    = evtchn;
-
-    unmask_evtchn(evtchn);
-    pirq_unmask_notify(irq_to_pirq(irq));
-
-    return 0;
+       evtchn_op_t op;
+       int evtchn;
+
+       op.cmd               = EVTCHNOP_bind_pirq;
+       op.u.bind_pirq.pirq  = irq;
+       /* NB. We are happy to share unless we are probing. */
+       op.u.bind_pirq.flags = probing_irq(irq) ? 0 : BIND_PIRQ__WILL_SHARE;
+       if (HYPERVISOR_event_channel_op(&op) != 0) {
+               if ( !probing_irq(irq) )
+                       printk(KERN_INFO "Failed to obtain physical "
+                              "IRQ %d\n", irq);
+               return 0;
+       }
+       evtchn = op.u.bind_pirq.port;
+
+       pirq_query_unmask(irq_to_pirq(irq));
+
+       bind_evtchn_to_cpu(evtchn, 0);
+       evtchn_to_irq[evtchn] = irq;
+       irq_to_evtchn[irq]    = evtchn;
+
+       unmask_evtchn(evtchn);
+       pirq_unmask_notify(irq_to_pirq(irq));
+
+       return 0;
 }
 
 static void shutdown_pirq(unsigned int irq)
 {
-    evtchn_op_t op;
-    int evtchn = irq_to_evtchn[irq];
-
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-
-    mask_evtchn(evtchn);
-
-    op.cmd          = EVTCHNOP_close;
-    op.u.close.dom  = DOMID_SELF;
-    op.u.close.port = evtchn;
-    if ( HYPERVISOR_event_channel_op(&op) != 0 )
-        panic("Failed to unbind physical IRQ %d\n", irq);
-
-    bind_evtchn_to_cpu(evtchn, 0);
-    evtchn_to_irq[evtchn] = -1;
-    irq_to_evtchn[irq]    = -1;
+       evtchn_op_t op;
+       int evtchn = irq_to_evtchn[irq];
+
+       if (!VALID_EVTCHN(evtchn))
+               return;
+
+       mask_evtchn(evtchn);
+
+       op.cmd          = EVTCHNOP_close;
+       op.u.close.dom  = DOMID_SELF;
+       op.u.close.port = evtchn;
+       BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+
+       bind_evtchn_to_cpu(evtchn, 0);
+       evtchn_to_irq[evtchn] = -1;
+       irq_to_evtchn[irq]    = -1;
 }
 
 static void enable_pirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    unmask_evtchn(evtchn);
-    pirq_unmask_notify(irq_to_pirq(irq));
+       int evtchn = irq_to_evtchn[irq];
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       unmask_evtchn(evtchn);
+       pirq_unmask_notify(irq_to_pirq(irq));
 }
 
 static void disable_pirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    mask_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       mask_evtchn(evtchn);
 }
 
 static void ack_pirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    mask_evtchn(evtchn);
-    clear_evtchn(evtchn);
+       int evtchn = irq_to_evtchn[irq];
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       mask_evtchn(evtchn);
+       clear_evtchn(evtchn);
 }
 
 static void end_pirq(unsigned int irq)
 {
-    int evtchn = irq_to_evtchn[irq];
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    if ( !(irq_desc[irq].status & IRQ_DISABLED) )
-    {
-        unmask_evtchn(evtchn);
-        pirq_unmask_notify(irq_to_pirq(irq));
-    }
+       int evtchn = irq_to_evtchn[irq];
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       if (!(irq_desc[irq].status & IRQ_DISABLED)) {
+               unmask_evtchn(evtchn);
+               pirq_unmask_notify(irq_to_pirq(irq));
+       }
 }
 
 static struct hw_interrupt_type pirq_type = {
-    "Phys-irq",
-    startup_pirq,
-    shutdown_pirq,
-    enable_pirq,
-    disable_pirq,
-    ack_pirq,
-    end_pirq,
-    set_affinity_irq
+       "Phys-irq",
+       startup_pirq,
+       shutdown_pirq,
+       enable_pirq,
+       disable_pirq,
+       ack_pirq,
+       end_pirq,
+       set_affinity_irq
 };
 
 void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i)
 {
-    int evtchn = irq_to_evtchn[i];
-    shared_info_t *s = HYPERVISOR_shared_info;
-    if ( !VALID_EVTCHN(evtchn) )
-        return;
-    BUG_ON(!synch_test_bit(evtchn, &s->evtchn_mask[0]));
-    synch_set_bit(evtchn, &s->evtchn_pending[0]);
+       int evtchn = irq_to_evtchn[i];
+       shared_info_t *s = HYPERVISOR_shared_info;
+       if (!VALID_EVTCHN(evtchn))
+               return;
+       BUG_ON(!synch_test_bit(evtchn, &s->evtchn_mask[0]));
+       synch_set_bit(evtchn, &s->evtchn_pending[0]);
 }
 
 void irq_suspend(void)
 {
-    int pirq, virq, irq, evtchn;
-    int cpu = smp_processor_id(); /* XXX */
-
-    /* Unbind VIRQs from event channels. */
-    for ( virq = 0; virq < NR_VIRQS; virq++ )
-    {
-        if ( (irq = per_cpu(virq_to_irq, cpu)[virq]) == -1 )
-            continue;
-        evtchn = irq_to_evtchn[irq];
-
-        /* Mark the event channel as unused in our table. */
-        evtchn_to_irq[evtchn] = -1;
-        irq_to_evtchn[irq]    = -1;
-    }
-
-    /* Check that no PIRQs are still bound. */
-    for ( pirq = 0; pirq < NR_PIRQS; pirq++ )
-        if ( (evtchn = irq_to_evtchn[pirq_to_irq(pirq)]) != -1 )
-            panic("Suspend attempted while PIRQ %d bound to evtchn %d.\n",
-                  pirq, evtchn);
+       int pirq, virq, irq, evtchn;
+       int cpu = smp_processor_id(); /* XXX */
+
+       /* Unbind VIRQs from event channels. */
+       for (virq = 0; virq < NR_VIRQS; virq++) {
+               if ((irq = per_cpu(virq_to_irq, cpu)[virq]) == -1)
+                       continue;
+               evtchn = irq_to_evtchn[irq];
+
+               /* Mark the event channel as unused in our table. */
+               evtchn_to_irq[evtchn] = -1;
+               irq_to_evtchn[irq]    = -1;
+       }
+
+       /* Check that no PIRQs are still bound. */
+       for (pirq = 0; pirq < NR_PIRQS; pirq++)
+               if ((evtchn = irq_to_evtchn[pirq_to_irq(pirq)]) != -1)
+                       panic("Suspend attempted while PIRQ %d bound "
+                             "to evtchn %d.\n", pirq, evtchn);
 }
 
 void irq_resume(void)
 {
-    evtchn_op_t op;
-    int         virq, irq, evtchn;
-    int cpu = smp_processor_id(); /* XXX */
-
-    for ( evtchn = 0; evtchn < NR_EVENT_CHANNELS; evtchn++ )
-        mask_evtchn(evtchn); /* New event-channel space is not 'live' yet. */
-
-    for ( virq = 0; virq < NR_VIRQS; virq++ )
-    {
-        if ( (irq = per_cpu(virq_to_irq, cpu)[virq]) == -1 )
-            continue;
-
-        /* Get a new binding from Xen. */
-        op.cmd              = EVTCHNOP_bind_virq;
-        op.u.bind_virq.virq = virq;
-        if ( HYPERVISOR_event_channel_op(&op) != 0 )
-            panic("Failed to bind virtual IRQ %d\n", virq);
-        evtchn = op.u.bind_virq.port;
+       evtchn_op_t op;
+       int         virq, irq, evtchn;
+       int cpu = smp_processor_id(); /* XXX */
+
+       /* New event-channel space is not 'live' yet. */
+       for (evtchn = 0; evtchn < NR_EVENT_CHANNELS; evtchn++)
+               mask_evtchn(evtchn);
+
+       for (virq = 0; virq < NR_VIRQS; virq++) {
+               if ((irq = per_cpu(virq_to_irq, cpu)[virq]) == -1)
+                       continue;
+
+               /* Get a new binding from Xen. */
+               op.cmd              = EVTCHNOP_bind_virq;
+               op.u.bind_virq.virq = virq;
+               BUG_ON(HYPERVISOR_event_channel_op(&op) != 0);
+               evtchn = op.u.bind_virq.port;
         
-        /* Record the new mapping. */
-        bind_evtchn_to_cpu(evtchn, 0);
-        evtchn_to_irq[evtchn] = irq;
-        irq_to_evtchn[irq]    = evtchn;
-
-        /* Ready for use. */
-        unmask_evtchn(evtchn);
-    }
+               /* Record the new mapping. */
+               bind_evtchn_to_cpu(evtchn, 0);
+               evtchn_to_irq[evtchn] = irq;
+               irq_to_evtchn[irq]    = evtchn;
+
+               /* Ready for use. */
+               unmask_evtchn(evtchn);
+       }
 }
 
 void __init init_IRQ(void)
 {
-    int i;
-    int cpu;
-
-    irq_ctx_init(0);
-
-    spin_lock_init(&irq_mapping_update_lock);
+       int i;
+       int cpu;
+
+       irq_ctx_init(0);
+
+       spin_lock_init(&irq_mapping_update_lock);
 
 #ifdef CONFIG_SMP
-    /* By default all event channels notify CPU#0. */
-    memset(cpu_evtchn_mask[0], ~0, sizeof(cpu_evtchn_mask[0]));
+       /* By default all event channels notify CPU#0. */
+       memset(cpu_evtchn_mask[0], ~0, sizeof(cpu_evtchn_mask[0]));
 #endif
 
-    for ( cpu = 0; cpu < NR_CPUS; cpu++ ) {
-        /* No VIRQ -> IRQ mappings. */
-        for ( i = 0; i < NR_VIRQS; i++ )
-            per_cpu(virq_to_irq, cpu)[i] = -1;
-    }
-
-    /* No event-channel -> IRQ mappings. */
-    for ( i = 0; i < NR_EVENT_CHANNELS; i++ )
-    {
-        evtchn_to_irq[i] = -1;
-        mask_evtchn(i); /* No event channels are 'live' right now. */
-    }
-
-    /* No IRQ -> event-channel mappings. */
-    for ( i = 0; i < NR_IRQS; i++ )
-        irq_to_evtchn[i] = -1;
-
-    for ( i = 0; i < NR_DYNIRQS; i++ )
-    {
-        /* Dynamic IRQ space is currently unbound. Zero the refcnts. */
-        irq_bindcount[dynirq_to_irq(i)] = 0;
-
-        irq_desc[dynirq_to_irq(i)].status  = IRQ_DISABLED;
-        irq_desc[dynirq_to_irq(i)].action  = 0;
-        irq_desc[dynirq_to_irq(i)].depth   = 1;
-        irq_desc[dynirq_to_irq(i)].handler = &dynirq_type;
-    }
-
-    for ( i = 0; i < NR_PIRQS; i++ )
-    {
-        /* Phys IRQ space is statically bound (1:1 mapping). Nail refcnts. */
-        irq_bindcount[pirq_to_irq(i)] = 1;
-
-        irq_desc[pirq_to_irq(i)].status  = IRQ_DISABLED;
-        irq_desc[pirq_to_irq(i)].action  = 0;
-        irq_desc[pirq_to_irq(i)].depth   = 1;
-        irq_desc[pirq_to_irq(i)].handler = &pirq_type;
-    }
-}
+       for (cpu = 0; cpu < NR_CPUS; cpu++) {
+               /* No VIRQ -> IRQ mappings. */
+               for (i = 0; i < NR_VIRQS; i++)
+                       per_cpu(virq_to_irq, cpu)[i] = -1;
+       }
+
+       /* No event-channel -> IRQ mappings. */
+       for (i = 0; i < NR_EVENT_CHANNELS; i++) {
+               evtchn_to_irq[i] = -1;
+               mask_evtchn(i); /* No event channels are 'live' right now. */
+       }
+
+       /* No IRQ -> event-channel mappings. */
+       for (i = 0; i < NR_IRQS; i++)
+               irq_to_evtchn[i] = -1;
+
+       /* Dynamic IRQ space is currently unbound. Zero the refcnts. */
+       for (i = 0; i < NR_DYNIRQS; i++) {
+               irq_bindcount[dynirq_to_irq(i)] = 0;
+
+               irq_desc[dynirq_to_irq(i)].status  = IRQ_DISABLED;
+               irq_desc[dynirq_to_irq(i)].action  = 0;
+               irq_desc[dynirq_to_irq(i)].depth   = 1;
+               irq_desc[dynirq_to_irq(i)].handler = &dynirq_type;
+       }
+
+       /* Phys IRQ space is statically bound (1:1 mapping). Nail refcnts. */
+       for (i = 0; i < NR_PIRQS; i++)
+       {
+               irq_bindcount[pirq_to_irq(i)] = 1;
+
+               irq_desc[pirq_to_irq(i)].status  = IRQ_DISABLED;
+               irq_desc[pirq_to_irq(i)].action  = 0;
+               irq_desc[pirq_to_irq(i)].depth   = 1;
+               irq_desc[pirq_to_irq(i)].handler = &pirq_type;
+       }
+}
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/arch/xen/kernel/fixup.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/fixup.c      Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/fixup.c      Thu Sep 29 10:10:27 2005
@@ -37,51 +37,57 @@
 
 #define DP(_f, _args...) printk(KERN_ALERT "  " _f "\n" , ## _args )
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-#define __LINKAGE fastcall
-#else
-#define __LINKAGE asmlinkage
-#endif
+fastcall void do_fixup_4gb_segment(struct pt_regs *regs, long error_code)
+{
+       static unsigned long printed = 0;
+       char info[100];
+       int i;
 
-__LINKAGE void do_fixup_4gb_segment(struct pt_regs *regs, long error_code)
-{
-    static unsigned long printed = 0;
-    char info[100];
-    int i;
+       if (test_and_set_bit(0, &printed))
+               return;
 
-    if ( !test_and_set_bit(0, &printed) )
-    {
-        HYPERVISOR_vm_assist(VMASST_CMD_disable,
-                            VMASST_TYPE_4gb_segments_notify);
+       HYPERVISOR_vm_assist(
+               VMASST_CMD_disable, VMASST_TYPE_4gb_segments_notify);
 
-        sprintf(info, "%s (pid=%d)", current->comm, current->tgid);
+       sprintf(info, "%s (pid=%d)", current->comm, current->tgid);
 
-        DP("");
-        DP("***************************************************************");
-        DP("***************************************************************");
-        DP("** WARNING: Currently emulating unsupported memory accesses  **");
-        DP("**          in /lib/tls libraries. The emulation is very     **");
-        DP("**          slow. To ensure full performance you should      **");
-        DP("**          execute the following as root:                   **");
-        DP("**          mv /lib/tls /lib/tls.disabled                    **");
-        DP("** Offending process: %-38.38s **", info);
-        DP("***************************************************************");
-        DP("***************************************************************");
-        DP("");
 
-        for ( i = 5; i > 0; i-- )
-        {
-            printk("Pausing... %d", i);
-            mdelay(1000);
-            printk("\b\b\b\b\b\b\b\b\b\b\b\b");
-        }
-        printk("Continuing...\n\n");
-    }
+       DP("");
+       DP("***************************************************************");
+       DP("***************************************************************");
+       DP("** WARNING: Currently emulating unsupported memory accesses  **");
+       DP("**          in /lib/tls libraries. The emulation is very     **");
+       DP("**          slow. To ensure full performance you should      **");
+       DP("**          execute the following as root:                   **");
+       DP("**          mv /lib/tls /lib/tls.disabled                    **");
+       DP("** Offending process: %-38.38s **", info);
+       DP("***************************************************************");
+       DP("***************************************************************");
+       DP("");
+
+       for (i = 5; i > 0; i--) {
+               printk("Pausing... %d", i);
+               mdelay(1000);
+               printk("\b\b\b\b\b\b\b\b\b\b\b\b");
+       }
+
+       printk("Continuing...\n\n");
 }
 
 static int __init fixup_init(void)
 {
-    HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments_notify);
-    return 0;
+       HYPERVISOR_vm_assist(
+               VMASST_CMD_enable, VMASST_TYPE_4gb_segments_notify);
+       return 0;
 }
 __initcall(fixup_init);
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Thu Sep 29 10:10:27 2005
@@ -12,7 +12,6 @@
 #include <asm-xen/evtchn.h>
 #include <asm/hypervisor.h>
 #include <asm-xen/xen-public/dom0_ops.h>
-#include <asm-xen/queues.h>
 #include <asm-xen/xenbus.h>
 #include <linux/cpu.h>
 #include <linux/kthread.h>
@@ -43,12 +42,10 @@
        HYPERVISOR_shutdown();
 }
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
 int reboot_thru_bios = 0;      /* for dmi_scan.c */
 EXPORT_SYMBOL(machine_restart);
 EXPORT_SYMBOL(machine_halt);
 EXPORT_SYMBOL(machine_power_off);
-#endif
 
 
 /******************************************************************************
@@ -66,227 +63,221 @@
 
 static int __do_suspend(void *ignore)
 {
-    int i, j, k, fpp;
+       int i, j, k, fpp;
 
 #ifdef CONFIG_XEN_USB_FRONTEND
-    extern void usbif_resume();
+       extern void usbif_resume();
 #else
 #define usbif_resume() do{}while(0)
 #endif
 
-    extern int gnttab_suspend(void);
-    extern int gnttab_resume(void);
-
-    extern void time_suspend(void);
-    extern void time_resume(void);
-    extern unsigned long max_pfn;
-    extern unsigned long *pfn_to_mfn_frame_list_list, *pfn_to_mfn_frame_list[];
-
-#ifdef CONFIG_SMP
-    extern void smp_suspend(void);
-    extern void smp_resume(void);
-
-    static vcpu_guest_context_t suspended_cpu_records[NR_CPUS];
-    cpumask_t prev_online_cpus, prev_present_cpus;
-
-    void save_vcpu_context(int vcpu, vcpu_guest_context_t *ctxt);
-    int restore_vcpu_context(int vcpu, vcpu_guest_context_t *ctxt);
-#endif
-
-    extern void xencons_suspend(void);
-    extern void xencons_resume(void);
-
-    int err = 0;
-
-    BUG_ON(smp_processor_id() != 0);
-    BUG_ON(in_interrupt());
+       extern int gnttab_suspend(void);
+       extern int gnttab_resume(void);
+
+       extern void time_suspend(void);
+       extern void time_resume(void);
+       extern unsigned long max_pfn;
+       extern unsigned long *pfn_to_mfn_frame_list_list;
+       extern unsigned long *pfn_to_mfn_frame_list[];
+
+#ifdef CONFIG_SMP
+       extern void smp_suspend(void);
+       extern void smp_resume(void);
+
+       static vcpu_guest_context_t suspended_cpu_records[NR_CPUS];
+       cpumask_t prev_online_cpus, prev_present_cpus;
+
+       void save_vcpu_context(int vcpu, vcpu_guest_context_t *ctxt);
+       int restore_vcpu_context(int vcpu, vcpu_guest_context_t *ctxt);
+#endif
+
+       extern void xencons_suspend(void);
+       extern void xencons_resume(void);
+
+       int err = 0;
+
+       BUG_ON(smp_processor_id() != 0);
+       BUG_ON(in_interrupt());
 
 #if defined(CONFIG_SMP) && !defined(CONFIG_HOTPLUG_CPU)
-    if (num_online_cpus() > 1) {
-       printk(KERN_WARNING 
-               "Can't suspend SMP guests without CONFIG_HOTPLUG_CPU\n");
-       return -EOPNOTSUPP;
-    }
-#endif
-
-    preempt_disable();
-#ifdef CONFIG_SMP
-    /* Take all of the other cpus offline.  We need to be careful not
-       to get preempted between the final test for num_online_cpus()
-       == 1 and disabling interrupts, since otherwise userspace could
-       bring another cpu online, and then we'd be stuffed.  At the
-       same time, cpu_down can reschedule, so we need to enable
-       preemption while doing that.  This kind of sucks, but should be
-       correct. */
-    /* (We don't need to worry about other cpus bringing stuff up,
-       since by the time num_online_cpus() == 1, there aren't any
-       other cpus) */
-    cpus_clear(prev_online_cpus);
-    while (num_online_cpus() > 1) {
+       if (num_online_cpus() > 1) {
+               printk(KERN_WARNING "Can't suspend SMP guests "
+                      "without CONFIG_HOTPLUG_CPU\n");
+               return -EOPNOTSUPP;
+       }
+#endif
+
+       preempt_disable();
+#ifdef CONFIG_SMP
+       /* Take all of the other cpus offline.  We need to be careful not
+          to get preempted between the final test for num_online_cpus()
+          == 1 and disabling interrupts, since otherwise userspace could
+          bring another cpu online, and then we'd be stuffed.  At the
+          same time, cpu_down can reschedule, so we need to enable
+          preemption while doing that.  This kind of sucks, but should be
+          correct. */
+       /* (We don't need to worry about other cpus bringing stuff up,
+          since by the time num_online_cpus() == 1, there aren't any
+          other cpus) */
+       cpus_clear(prev_online_cpus);
+       while (num_online_cpus() > 1) {
+               preempt_enable();
+               for_each_online_cpu(i) {
+                       if (i == 0)
+                               continue;
+                       err = cpu_down(i);
+                       if (err != 0) {
+                               printk(KERN_CRIT "Failed to take all CPUs "
+                                      "down: %d.\n", err);
+                               goto out_reenable_cpus;
+                       }
+                       cpu_set(i, prev_online_cpus);
+               }
+               preempt_disable();
+       }
+#endif
+
+       __cli();
+
        preempt_enable();
-       for_each_online_cpu(i) {
-           if (i == 0)
-               continue;
-           err = cpu_down(i);
-           if (err != 0) {
-               printk(KERN_CRIT "Failed to take all CPUs down: %d.\n", err);
-               goto out_reenable_cpus;
-           }
-           cpu_set(i, prev_online_cpus);
-       }
-       preempt_disable();
-    }
-#endif
-
-    __cli();
-
-    preempt_enable();
-
-#ifdef CONFIG_SMP
-    cpus_clear(prev_present_cpus);
-    for_each_present_cpu(i) {
-       if (i == 0)
-           continue;
-       save_vcpu_context(i, &suspended_cpu_records[i]);
-       cpu_set(i, prev_present_cpus);
-    }
+
+#ifdef CONFIG_SMP
+       cpus_clear(prev_present_cpus);
+       for_each_present_cpu(i) {
+               if (i == 0)
+                       continue;
+               save_vcpu_context(i, &suspended_cpu_records[i]);
+               cpu_set(i, prev_present_cpus);
+       }
 #endif
 
 #ifdef __i386__
-    mm_pin_all();
-    kmem_cache_shrink(pgd_cache);
-#endif
-
-    time_suspend();
-
-#ifdef CONFIG_SMP
-    smp_suspend();
-#endif
-
-    xenbus_suspend();
-
-    xencons_suspend();
-
-    irq_suspend();
-
-    gnttab_suspend();
-
-    HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page;
-    clear_fixmap(FIX_SHARED_INFO);
-
-    xen_start_info->store_mfn = mfn_to_pfn(xen_start_info->store_mfn);
-    xen_start_info->console_mfn = mfn_to_pfn(xen_start_info->console_mfn);
-
-    /* We'll stop somewhere inside this hypercall.  When it returns,
-       we'll start resuming after the restore. */
-    HYPERVISOR_suspend(virt_to_mfn(xen_start_info));
-
-    shutting_down = SHUTDOWN_INVALID; 
-
-    set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
-
-    HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
-
-    memset(empty_zero_page, 0, PAGE_SIZE);
+       mm_pin_all();
+       kmem_cache_shrink(pgd_cache);
+#endif
+
+       time_suspend();
+
+#ifdef CONFIG_SMP
+       smp_suspend();
+#endif
+
+       xenbus_suspend();
+
+       xencons_suspend();
+
+       irq_suspend();
+
+       gnttab_suspend();
+
+       HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page;
+       clear_fixmap(FIX_SHARED_INFO);
+
+       xen_start_info->store_mfn = mfn_to_pfn(xen_start_info->store_mfn);
+       xen_start_info->console_mfn = mfn_to_pfn(xen_start_info->console_mfn);
+
+       /* We'll stop somewhere inside this hypercall.  When it returns,
+          we'll start resuming after the restore. */
+       HYPERVISOR_suspend(virt_to_mfn(xen_start_info));
+
+       shutting_down = SHUTDOWN_INVALID; 
+
+       set_fixmap(FIX_SHARED_INFO, xen_start_info->shared_info);
+
+       HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
+
+       memset(empty_zero_page, 0, PAGE_SIZE);
             
-    HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list_list =
+       HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list_list =
                virt_to_mfn(pfn_to_mfn_frame_list_list);
   
-    fpp = PAGE_SIZE/sizeof(unsigned long);
-    for ( i=0, j=0, k=-1; i< max_pfn; i+=fpp, j++ )
-    {
-       if ( (j % fpp) == 0 )
-       {
-           k++;
-           pfn_to_mfn_frame_list_list[k] = 
-                   virt_to_mfn(pfn_to_mfn_frame_list[k]);
-           j=0;
-       }
-       pfn_to_mfn_frame_list[k][j] = 
-               virt_to_mfn(&phys_to_machine_mapping[i]);
-    }
-    HYPERVISOR_shared_info->arch.max_pfn = max_pfn;
-
-    gnttab_resume();
-
-    irq_resume();
-
-    xencons_resume();
-
-    xenbus_resume();
-
-#ifdef CONFIG_SMP
-    smp_resume();
-#endif
-
-    time_resume();
-
-    usbif_resume();
-
-#ifdef CONFIG_SMP
-    for_each_cpu_mask(i, prev_present_cpus)
-       restore_vcpu_context(i, &suspended_cpu_records[i]);
-#endif
-
-    __sti();
+       fpp = PAGE_SIZE/sizeof(unsigned long);
+       for (i = 0, j = 0, k = -1; i < max_pfn; i += fpp, j++) {
+               if ((j % fpp) == 0) {
+                       k++;
+                       pfn_to_mfn_frame_list_list[k] = 
+                               virt_to_mfn(pfn_to_mfn_frame_list[k]);
+                       j = 0;
+               }
+               pfn_to_mfn_frame_list[k][j] = 
+                       virt_to_mfn(&phys_to_machine_mapping[i]);
+       }
+       HYPERVISOR_shared_info->arch.max_pfn = max_pfn;
+
+       gnttab_resume();
+
+       irq_resume();
+
+       xencons_resume();
+
+       xenbus_resume();
+
+#ifdef CONFIG_SMP
+       smp_resume();
+#endif
+
+       time_resume();
+
+       usbif_resume();
+
+#ifdef CONFIG_SMP
+       for_each_cpu_mask(i, prev_present_cpus)
+               restore_vcpu_context(i, &suspended_cpu_records[i]);
+#endif
+
+       __sti();
 
 #ifdef CONFIG_SMP
  out_reenable_cpus:
-    for_each_cpu_mask(i, prev_online_cpus) {
-       j = cpu_up(i);
-       if (j != 0) {
-           printk(KERN_CRIT "Failed to bring cpu %d back up (%d).\n",
-                  i, j);
-           err = j;
-       }
-    }
-#endif
-
-    return err;
+       for_each_cpu_mask(i, prev_online_cpus) {
+               j = cpu_up(i);
+               if (j != 0) {
+                       printk(KERN_CRIT "Failed to bring cpu "
+                              "%d back up (%d).\n",
+                              i, j);
+                       err = j;
+               }
+       }
+#endif
+
+       return err;
 }
 
 static int shutdown_process(void *__unused)
 {
-    static char *envp[] = { "HOME=/", "TERM=linux", 
-                            "PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL };
-    static char *restart_argv[]  = { "/sbin/reboot", NULL };
-    static char *poweroff_argv[] = { "/sbin/poweroff", NULL };
-
-    extern asmlinkage long sys_reboot(int magic1, int magic2,
-                                      unsigned int cmd, void *arg);
-
-    daemonize(
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-        "shutdown"
-#endif
-        );
-
-    switch ( shutting_down )
-    {
-    case SHUTDOWN_POWEROFF:
-        if ( execve("/sbin/poweroff", poweroff_argv, envp) < 0 )
-        {
-            sys_reboot(LINUX_REBOOT_MAGIC1,
-                       LINUX_REBOOT_MAGIC2,
-                       LINUX_REBOOT_CMD_POWER_OFF,
-                       NULL);
-        }
-        break;
-
-    case SHUTDOWN_REBOOT:
-        if ( execve("/sbin/reboot", restart_argv, envp) < 0 )
-        {
-            sys_reboot(LINUX_REBOOT_MAGIC1,
-                       LINUX_REBOOT_MAGIC2,
-                       LINUX_REBOOT_CMD_RESTART,
-                       NULL);
-        }
-        break;
-    }
-
-    shutting_down = SHUTDOWN_INVALID; /* could try again */
-
-    return 0;
+       static char *envp[] = { "HOME=/", "TERM=linux", 
+                               "PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL };
+       static char *restart_argv[]  = { "/sbin/reboot", NULL };
+       static char *poweroff_argv[] = { "/sbin/poweroff", NULL };
+
+       extern asmlinkage long sys_reboot(int magic1, int magic2,
+                                         unsigned int cmd, void *arg);
+
+       daemonize("shutdown");
+
+       switch (shutting_down) {
+       case SHUTDOWN_POWEROFF:
+               if (execve("/sbin/poweroff", poweroff_argv, envp) < 0) {
+                       sys_reboot(LINUX_REBOOT_MAGIC1,
+                                  LINUX_REBOOT_MAGIC2,
+                                  LINUX_REBOOT_CMD_POWER_OFF,
+                                  NULL);
+               }
+               break;
+
+       case SHUTDOWN_REBOOT:
+               if (execve("/sbin/reboot", restart_argv, envp) < 0) {
+                       sys_reboot(LINUX_REBOOT_MAGIC1,
+                                  LINUX_REBOOT_MAGIC2,
+                                  LINUX_REBOOT_CMD_RESTART,
+                                  NULL);
+               }
+               break;
+       }
+
+       shutting_down = SHUTDOWN_INVALID; /* could try again */
+
+       return 0;
 }
 
 static struct task_struct *kthread_create_on_cpu(int (*f)(void *arg),
@@ -294,113 +285,109 @@
                                                 const char *name,
                                                 int cpu)
 {
-    struct task_struct *p;
-    p = kthread_create(f, arg, name);
-    kthread_bind(p, cpu);
-    wake_up_process(p);
-    return p;
+       struct task_struct *p;
+       p = kthread_create(f, arg, name);
+       kthread_bind(p, cpu);
+       wake_up_process(p);
+       return p;
 }
 
 static void __shutdown_handler(void *unused)
 {
-    int err;
-
-    if ( shutting_down != SHUTDOWN_SUSPEND )
-    {
-        err = kernel_thread(shutdown_process, NULL, CLONE_FS | CLONE_FILES);
-        if ( err < 0 )
-            printk(KERN_ALERT "Error creating shutdown process!\n");
-    }
-    else
-    {
-       kthread_create_on_cpu(__do_suspend, NULL, "suspender", 0);
-    }
+       int err;
+
+       if (shutting_down != SHUTDOWN_SUSPEND) {
+               err = kernel_thread(shutdown_process, NULL,
+                                   CLONE_FS | CLONE_FILES);
+               if ( err < 0 )
+                       printk(KERN_ALERT "Error creating shutdown "
+                              "process!\n");
+       } else {
+               kthread_create_on_cpu(__do_suspend, NULL, "suspender", 0);
+       }
 }
 
 static void shutdown_handler(struct xenbus_watch *watch, const char *node)
 {
-    static DECLARE_WORK(shutdown_work, __shutdown_handler, NULL);
-    char *str;
-    int err;
+       static DECLARE_WORK(shutdown_work, __shutdown_handler, NULL);
+       char *str;
+       int err;
 
  again:
-    err = xenbus_transaction_start();
-    if (err)
-       return;
-    str = (char *)xenbus_read("control", "shutdown", NULL);
-    /* Ignore read errors and empty reads. */
-    if (XENBUS_IS_ERR_READ(str)) {
-       xenbus_transaction_end(1);
-       return;
-    }
-
-    xenbus_write("control", "shutdown", "");
-
-    err = xenbus_transaction_end(0);
-    if (err == -EAGAIN) {
+       err = xenbus_transaction_start();
+       if (err)
+               return;
+       str = (char *)xenbus_read("control", "shutdown", NULL);
+       /* Ignore read errors and empty reads. */
+       if (XENBUS_IS_ERR_READ(str)) {
+               xenbus_transaction_end(1);
+               return;
+       }
+
+       xenbus_write("control", "shutdown", "");
+
+       err = xenbus_transaction_end(0);
+       if (err == -EAGAIN) {
+               kfree(str);
+               goto again;
+       }
+
+       if (strcmp(str, "poweroff") == 0)
+               shutting_down = SHUTDOWN_POWEROFF;
+       else if (strcmp(str, "reboot") == 0)
+               shutting_down = SHUTDOWN_REBOOT;
+       else if (strcmp(str, "suspend") == 0)
+               shutting_down = SHUTDOWN_SUSPEND;
+       else {
+               printk("Ignoring shutdown request: %s\n", str);
+               shutting_down = SHUTDOWN_INVALID;
+       }
+
        kfree(str);
-       goto again;
-    }
-
-    if (strcmp(str, "poweroff") == 0)
-        shutting_down = SHUTDOWN_POWEROFF;
-    else if (strcmp(str, "reboot") == 0)
-        shutting_down = SHUTDOWN_REBOOT;
-    else if (strcmp(str, "suspend") == 0)
-        shutting_down = SHUTDOWN_SUSPEND;
-    else {
-        printk("Ignoring shutdown request: %s\n", str);
-        shutting_down = SHUTDOWN_INVALID;
-    }
-
-    kfree(str);
-
-    if (shutting_down != SHUTDOWN_INVALID)
-        schedule_work(&shutdown_work);
+
+       if (shutting_down != SHUTDOWN_INVALID)
+               schedule_work(&shutdown_work);
 }
 
 #ifdef CONFIG_MAGIC_SYSRQ
 static void sysrq_handler(struct xenbus_watch *watch, const char *node)
 {
-    char sysrq_key = '\0';
-    int err;
+       char sysrq_key = '\0';
+       int err;
 
  again:
-    err = xenbus_transaction_start();
-    if (err)
-       return;
-    if (!xenbus_scanf("control", "sysrq", "%c", &sysrq_key)) {
-        printk(KERN_ERR "Unable to read sysrq code in control/sysrq\n");
-       xenbus_transaction_end(1);
-       return;
-    }
-
-    if (sysrq_key != '\0')
-       xenbus_printf("control", "sysrq", "%c", '\0');
-
-    err = xenbus_transaction_end(0);
-    if (err == -EAGAIN)
-       goto again;
-
-    if (sysrq_key != '\0') {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
-        handle_sysrq(sysrq_key, NULL, NULL);
-#else
-        handle_sysrq(sysrq_key, NULL, NULL, NULL);
-#endif
-    }
+       err = xenbus_transaction_start();
+       if (err)
+               return;
+       if (!xenbus_scanf("control", "sysrq", "%c", &sysrq_key)) {
+               printk(KERN_ERR "Unable to read sysrq code in "
+                      "control/sysrq\n");
+               xenbus_transaction_end(1);
+               return;
+       }
+
+       if (sysrq_key != '\0')
+               xenbus_printf("control", "sysrq", "%c", '\0');
+
+       err = xenbus_transaction_end(0);
+       if (err == -EAGAIN)
+               goto again;
+
+       if (sysrq_key != '\0') {
+               handle_sysrq(sysrq_key, NULL, NULL);
+       }
 }
 #endif
 
 static struct xenbus_watch shutdown_watch = {
-    .node = "control/shutdown",
-    .callback = shutdown_handler
+       .node = "control/shutdown",
+       .callback = shutdown_handler
 };
 
 #ifdef CONFIG_MAGIC_SYSRQ
 static struct xenbus_watch sysrq_watch = {
-    .node ="control/sysrq",
-    .callback = sysrq_handler
+       .node ="control/sysrq",
+       .callback = sysrq_handler
 };
 #endif
 
@@ -413,39 +400,50 @@
                                   unsigned long event,
                                   void *data)
 {
-    int err1 = 0;
+       int err1 = 0;
 #ifdef CONFIG_MAGIC_SYSRQ
-    int err2 = 0;
-#endif
-
-    BUG_ON(down_trylock(&xenbus_lock) == 0);
-
-    err1 = register_xenbus_watch(&shutdown_watch);
+       int err2 = 0;
+#endif
+
+       BUG_ON(down_trylock(&xenbus_lock) == 0);
+
+       err1 = register_xenbus_watch(&shutdown_watch);
 #ifdef CONFIG_MAGIC_SYSRQ
-    err2 = register_xenbus_watch(&sysrq_watch);
-#endif
-
-    if (err1) {
-        printk(KERN_ERR "Failed to set shutdown watcher\n");
-    }
+       err2 = register_xenbus_watch(&sysrq_watch);
+#endif
+
+       if (err1) {
+               printk(KERN_ERR "Failed to set shutdown watcher\n");
+       }
     
 #ifdef CONFIG_MAGIC_SYSRQ
-    if (err2) {
-        printk(KERN_ERR "Failed to set sysrq watcher\n");
-    }
-#endif
-
-    return NOTIFY_DONE;
+       if (err2) {
+               printk(KERN_ERR "Failed to set sysrq watcher\n");
+       }
+#endif
+
+       return NOTIFY_DONE;
 }
 
 static int __init setup_shutdown_event(void)
 {
     
-    xenstore_notifier.notifier_call = setup_shutdown_watcher;
-
-    register_xenstore_notifier(&xenstore_notifier);
+       xenstore_notifier.notifier_call = setup_shutdown_watcher;
+
+       register_xenstore_notifier(&xenstore_notifier);
     
-    return 0;
+       return 0;
 }
 
 subsys_initcall(setup_shutdown_event);
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
+#
diff -r e04b0805febb -r c317e0aca9f1 linux-2.6-xen-sparse/arch/xen/kernel/smp.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/smp.c        Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/smp.c        Thu Sep 29 10:10:27 2005
@@ -11,6 +11,15 @@
 int setup_profiling_timer(unsigned int multiplier)
 {
        printk("setup_profiling_timer\n");
-
        return 0;
 }
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/arch/xen/kernel/xen_proc.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/xen_proc.c   Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/xen_proc.c   Thu Sep 29 10:10:27 2005
@@ -6,13 +6,23 @@
 
 struct proc_dir_entry *create_xen_proc_entry(const char *name, mode_t mode)
 {
-    if ( xen_base == NULL )
-        if ( (xen_base = proc_mkdir("xen", &proc_root)) == NULL )
-            panic("Couldn't create /proc/xen");
-    return create_proc_entry(name, mode, xen_base);
+       if ( xen_base == NULL )
+               if ( (xen_base = proc_mkdir("xen", &proc_root)) == NULL )
+                       panic("Couldn't create /proc/xen");
+       return create_proc_entry(name, mode, xen_base);
 }
 
 void remove_xen_proc_entry(const char *name)
 {
-    remove_proc_entry(name, xen_base);
+       remove_proc_entry(name, xen_base);
 }
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/balloon.h
--- a/linux-2.6-xen-sparse/include/asm-xen/balloon.h    Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/balloon.h    Thu Sep 29 10:10:27 2005
@@ -58,3 +58,13 @@
 #define balloon_unlock(__flags) spin_unlock_irqrestore(&balloon_lock, __flags)
 
 #endif /* __ASM_BALLOON_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/driver_util.h
--- a/linux-2.6-xen-sparse/include/asm-xen/driver_util.h        Thu Sep 29 
08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/driver_util.h        Thu Sep 29 
10:10:27 2005
@@ -14,3 +14,13 @@
 extern void unlock_vm_area(struct vm_struct *area);
 
 #endif /* __ASM_XEN_DRIVER_UTIL_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/evtchn.h
--- a/linux-2.6-xen-sparse/include/asm-xen/evtchn.h     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/evtchn.h     Thu Sep 29 10:10:27 2005
@@ -4,7 +4,7 @@
  * Communication via Xen event channels.
  * Also definitions for the device that demuxes notifications to userspace.
  * 
- * Copyright (c) 2004, K A Fraser
+ * Copyright (c) 2004-2005, K A Fraser
  * 
  * This file may be distributed separately from the Linux kernel, or
  * incorporated into other software packages, subject to the following license:
@@ -61,11 +61,11 @@
  * You *cannot* trust the irq argument passed to the callback handler.
  */
 extern int  bind_evtchn_to_irqhandler(
-    unsigned int evtchn,
-    irqreturn_t (*handler)(int, void *, struct pt_regs *),
-    unsigned long irqflags,
-    const char *devname,
-    void *dev_id);
+       unsigned int evtchn,
+       irqreturn_t (*handler)(int, void *, struct pt_regs *),
+       unsigned long irqflags,
+       const char *devname,
+       void *dev_id);
 extern void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id);
 
 extern void irq_suspend(void);
@@ -79,42 +79,42 @@
 
 static inline void mask_evtchn(int port)
 {
-    shared_info_t *s = HYPERVISOR_shared_info;
-    synch_set_bit(port, &s->evtchn_mask[0]);
+       shared_info_t *s = HYPERVISOR_shared_info;
+       synch_set_bit(port, &s->evtchn_mask[0]);
 }
 
 static inline void unmask_evtchn(int port)
 {
-    shared_info_t *s = HYPERVISOR_shared_info;
-    vcpu_info_t *vcpu_info = &s->vcpu_data[smp_processor_id()];
+       shared_info_t *s = HYPERVISOR_shared_info;
+       vcpu_info_t *vcpu_info = &s->vcpu_data[smp_processor_id()];
 
-    synch_clear_bit(port, &s->evtchn_mask[0]);
+       synch_clear_bit(port, &s->evtchn_mask[0]);
 
-    /*
-     * The following is basically the equivalent of 'hw_resend_irq'. Just like
-     * a real IO-APIC we 'lose the interrupt edge' if the channel is masked.
-     */
-    if (  synch_test_bit        (port,    &s->evtchn_pending[0]) && 
-         !synch_test_and_set_bit(port>>5, &vcpu_info->evtchn_pending_sel) )
-    {
-        vcpu_info->evtchn_upcall_pending = 1;
-        if ( !vcpu_info->evtchn_upcall_mask )
-            force_evtchn_callback();
-    }
+       /*
+        * The following is basically the equivalent of 'hw_resend_irq'. Just
+        * like a real IO-APIC we 'lose the interrupt edge' if the channel is
+        * masked.
+        */
+       if (synch_test_bit         (port,    &s->evtchn_pending[0]) && 
+           !synch_test_and_set_bit(port>>5, &vcpu_info->evtchn_pending_sel)) {
+               vcpu_info->evtchn_upcall_pending = 1;
+               if (!vcpu_info->evtchn_upcall_mask)
+                       force_evtchn_callback();
+       }
 }
 
 static inline void clear_evtchn(int port)
 {
-    shared_info_t *s = HYPERVISOR_shared_info;
-    synch_clear_bit(port, &s->evtchn_pending[0]);
+       shared_info_t *s = HYPERVISOR_shared_info;
+       synch_clear_bit(port, &s->evtchn_pending[0]);
 }
 
 static inline int notify_via_evtchn(int port)
 {
-    evtchn_op_t op;
-    op.cmd = EVTCHNOP_send;
-    op.u.send.local_port = port;
-    return HYPERVISOR_event_channel_op(&op);
+       evtchn_op_t op;
+       op.cmd = EVTCHNOP_send;
+       op.u.send.local_port = port;
+       return HYPERVISOR_event_channel_op(&op);
 }
 
 /*
@@ -133,3 +133,13 @@
 #define EVTCHN_UNBIND _IO('E', 3)
 
 #endif /* __ASM_EVTCHN_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/foreign_page.h
--- a/linux-2.6-xen-sparse/include/asm-xen/foreign_page.h       Thu Sep 29 
08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/foreign_page.h       Thu Sep 29 
10:10:27 2005
@@ -28,3 +28,13 @@
        ( (void (*) (struct page *)) (page)->mapping )
 
 #endif /* __ASM_XEN_FOREIGN_PAGE_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/gnttab.h
--- a/linux-2.6-xen-sparse/include/asm-xen/gnttab.h     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/gnttab.h     Thu Sep 29 10:10:27 2005
@@ -6,7 +6,7 @@
  * 2. Accessing others' memory reservations via grant references.
  * (i.e., mechanisms for both sender and recipient of grant references)
  * 
- * Copyright (c) 2004, K A Fraser
+ * Copyright (c) 2004-2005, K A Fraser
  * Copyright (c) 2005, Christopher Clark
  */
 
@@ -25,10 +25,10 @@
 #endif
 
 struct gnttab_free_callback {
-    struct gnttab_free_callback *next;
-    void (*fn)(void *);
-    void *arg;
-    u16 count;
+       struct gnttab_free_callback *next;
+       void (*fn)(void *);
+       void *arg;
+       u16 count;
 };
 
 int gnttab_grant_foreign_access(domid_t domid, unsigned long frame,
@@ -73,3 +73,13 @@
 #endif
 
 #endif /* __ASM_GNTTAB_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/xen_proc.h
--- a/linux-2.6-xen-sparse/include/asm-xen/xen_proc.h   Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/xen_proc.h   Thu Sep 29 10:10:27 2005
@@ -6,8 +6,18 @@
 #include <linux/proc_fs.h>
 
 extern struct proc_dir_entry *create_xen_proc_entry(
-    const char *name, mode_t mode);
+       const char *name, mode_t mode);
 extern void remove_xen_proc_entry(
-    const char *name);
+       const char *name);
 
 #endif /* __ASM_XEN_PROC_H__ */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/xenbus.h
--- a/linux-2.6-xen-sparse/include/asm-xen/xenbus.h     Thu Sep 29 08:59:46 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/xenbus.h     Thu Sep 29 10:10:27 2005
@@ -139,3 +139,13 @@
 #define XENBUS_EXIST_ERR(err) ((err) == -ENOENT || (err) == -ERANGE)
 
 #endif /* _ASM_XEN_XENBUS_H */
+
+/*
+ * Local variables:
+ *  c-file-style: "linux"
+ *  indent-tabs-mode: t
+ *  c-indent-level: 8
+ *  c-basic-offset: 8
+ *  tab-width: 8
+ * End:
+ */
diff -r e04b0805febb -r c317e0aca9f1 
linux-2.6-xen-sparse/include/asm-xen/queues.h
--- a/linux-2.6-xen-sparse/include/asm-xen/queues.h     Thu Sep 29 08:59:46 2005
+++ /dev/null   Thu Sep 29 10:10:27 2005
@@ -1,81 +0,0 @@
-
-/*
- * Oh dear. Task queues were removed from Linux 2.6 and replaced by work 
- * queues. Unfortunately the semantics is not the same. With task queues we 
- * can defer work until a particular event occurs -- this is not
- * straightforwardly done with work queues (queued work is performed asap, or
- * after some fixed timeout). Conversely, work queues are a (slightly) neater
- * way of deferring work to a process context than using task queues in 2.4.
- * 
- * This is a bit of a needless reimplementation -- should have just pulled
- * the code from 2.4, but I tried leveraging work queues to simplify things.
- * They didn't help. :-(
- */
-
-#ifndef __QUEUES_H__
-#define __QUEUES_H__
-
-#include <linux/version.h>
-#include <linux/list.h>
-#include <linux/workqueue.h>
-
-struct tq_struct { 
-    void (*fn)(void *);
-    void *arg;
-    struct list_head list;
-    unsigned long pending;
-};
-#define INIT_TQUEUE(_name, _fn, _arg)               \
-    do {                                            \
-        INIT_LIST_HEAD(&(_name)->list);             \
-        (_name)->pending = 0;                       \
-        (_name)->fn = (_fn); (_name)->arg = (_arg); \
-    } while ( 0 )
-#define DECLARE_TQUEUE(_name, _fn, _arg)            \
-    struct tq_struct _name = { (_fn), (_arg), LIST_HEAD_INIT((_name).list), 0 }
-
-typedef struct {
-    struct list_head list;
-    spinlock_t       lock;
-} task_queue;
-#define DECLARE_TASK_QUEUE(_name) \
-    task_queue _name = { LIST_HEAD_INIT((_name).list), SPIN_LOCK_UNLOCKED }
-
-static inline int queue_task(struct tq_struct *tqe, task_queue *tql)
-{
-    unsigned long flags;
-    if ( test_and_set_bit(0, &tqe->pending) )
-        return 0;
-    spin_lock_irqsave(&tql->lock, flags);
-    list_add_tail(&tqe->list, &tql->list);
-    spin_unlock_irqrestore(&tql->lock, flags);
-    return 1;
-}
-
-static inline void run_task_queue(task_queue *tql)
-{
-    struct list_head head, *ent;
-    struct tq_struct *tqe;
-    unsigned long flags;
-    void (*fn)(void *);
-    void *arg;
-
-    spin_lock_irqsave(&tql->lock, flags);
-    list_add(&head, &tql->list);
-    list_del_init(&tql->list);
-    spin_unlock_irqrestore(&tql->lock, flags);
-
-    while ( !list_empty(&head) )
-    {
-        ent = head.next;
-        list_del_init(ent);
-        tqe = list_entry(ent, struct tq_struct, list);
-        fn  = tqe->fn;
-        arg = tqe->arg;
-        wmb();
-        tqe->pending = 0;
-        fn(arg);
-    }
-}
-
-#endif /* __QUEUES_H__ */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.