WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Merge.

# HG changeset patch
# User emellor@ewan
# Node ID 41b1f86628a043fe273fbe62203fc679a5014bdc
# Parent  82e8a1d7230fbbbd3128880e0914aef11658a432
# Parent  b20219e27f92473589263d89576e1b045f3d1f6a
Merge.

diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c       Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c       Fri Sep 30 
09:50:19 2005
@@ -129,6 +129,7 @@
     * race between pending interrupts and restoration of handler. 
     */
 #ifdef CONFIG_SMP
+       local_irq_enable(); /* XXX Needed for smp_resume(). Clean me up. */
        smp_resume();
 #endif
        cpu_set(smp_processor_id(), cpu_online_map);
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c       Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c       Fri Sep 30 
09:50:19 2005
@@ -446,27 +446,6 @@
 
 static int cpucount;
 
-
-static irqreturn_t ldebug_interrupt(
-       int irq, void *dev_id, struct pt_regs *regs)
-{
-       return IRQ_HANDLED;
-}
-
-static DEFINE_PER_CPU(int, ldebug_irq);
-static char ldebug_name[NR_CPUS][15];
-
-void ldebug_setup(void)
-{
-       int cpu = smp_processor_id();
-
-       per_cpu(ldebug_irq, cpu) = bind_virq_to_irq(VIRQ_DEBUG);
-       sprintf(ldebug_name[cpu], "ldebug%d", cpu);
-       BUG_ON(request_irq(per_cpu(ldebug_irq, cpu), ldebug_interrupt,
-                          SA_INTERRUPT, ldebug_name[cpu], NULL));
-}
-
-
 extern void local_setup_timer(void);
 
 /*
@@ -484,7 +463,6 @@
        while (!cpu_isset(smp_processor_id(), smp_commenced_mask))
                rep_nop();
        local_setup_timer();
-       ldebug_setup();
        smp_intr_init();
        local_irq_enable();
        /*
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Fri Sep 30 09:48:49 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c     Fri Sep 30 09:50:19 2005
@@ -95,6 +95,8 @@
                return -EOPNOTSUPP;
        }
 #endif
+
+       xenbus_suspend();
 
        preempt_disable();
 #ifdef CONFIG_SMP
@@ -140,8 +142,6 @@
        }
 #endif
 
-       xenbus_suspend();
-
        gnttab_suspend();
 
 #ifdef __i386__
@@ -187,10 +187,6 @@
 
        irq_resume();
 
-       xencons_resume();
-
-       xenbus_resume();
-
        time_resume();
 
 #ifdef CONFIG_SMP
@@ -199,6 +195,10 @@
 #endif
 
        __sti();
+
+       xencons_resume();
+
+       xenbus_resume();
 
 #ifdef CONFIG_SMP
  out_reenable_cpus:
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c       Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c       Fri Sep 30 
09:50:19 2005
@@ -771,11 +771,14 @@
                                virt_to_mfn(&phys_to_machine_mapping[i]);
                }
                HYPERVISOR_shared_info->arch.max_pfn = max_pfn;
-               
-               
-
-
-
+       }
+
+       if ( ! (xen_start_info->flags & SIF_INITDOMAIN))
+       {
+               acpi_disabled = 1;
+#ifdef  CONFIG_ACPI_BOOT
+               acpi_ht = 0;
+#endif
        }
 #endif
 
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c     Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c     Fri Sep 30 
09:50:19 2005
@@ -445,25 +445,6 @@
 }
 
 #ifdef CONFIG_XEN
-static irqreturn_t ldebug_interrupt(
-       int irq, void *dev_id, struct pt_regs *regs)
-{
-       return IRQ_HANDLED;
-}
-
-static DEFINE_PER_CPU(int, ldebug_irq);
-static char ldebug_name[NR_CPUS][15];
-
-void ldebug_setup(void)
-{
-       int cpu = smp_processor_id();
-
-       per_cpu(ldebug_irq, cpu) = bind_virq_to_irq(VIRQ_DEBUG);
-       sprintf(ldebug_name[cpu], "ldebug%d", cpu);
-       BUG_ON(request_irq(per_cpu(ldebug_irq, cpu), ldebug_interrupt,
-                          SA_INTERRUPT, ldebug_name[cpu], NULL));
-}
-
 extern void local_setup_timer(void);
 #endif
 
@@ -498,7 +479,6 @@
        enable_APIC_timer();
 #else
        local_setup_timer();
-       ldebug_setup();
        smp_intr_init();
        local_irq_enable();
 #endif
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c      Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/tpmfront/tpmfront.c      Fri Sep 30 
09:50:19 2005
@@ -293,9 +293,9 @@
                tp->tx = NULL;
        }
 
-       if (tpm->irq)
+       if (tp->irq)
                unbind_evtchn_from_irqhandler(tp->irq, NULL);
-       tp->evtchn = tpm->irq = 0;
+       tp->evtchn = tp->irq = 0;
 }
 
 
diff -r 82e8a1d7230f -r 41b1f86628a0 
linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c
--- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c    Fri Sep 30 
09:48:49 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c    Fri Sep 30 
09:50:19 2005
@@ -650,7 +650,6 @@
        int err = 0;
 
        /* Initialize xenstore comms unless already done. */
-       printk("store_evtchn = %i\n", xen_start_info->store_evtchn);
        err = xs_init();
        if (err) {
                printk("XENBUS: Error initializing xenstore comms:"
diff -r 82e8a1d7230f -r 41b1f86628a0 tools/debugger/gdb/README
--- a/tools/debugger/gdb/README Fri Sep 30 09:48:49 2005
+++ b/tools/debugger/gdb/README Fri Sep 30 09:50:19 2005
@@ -20,10 +20,18 @@
 
 To debug a running guest:
  1. Use 'xm list' to discover its domain id ($domid). 
- 2. Run 'gdbserver-xen 127.0.0.1:9999 --attach $domid'
- 3. Run 'gdb /path/to/vmlinux-syms-2.6.xx-xenU'
+ 2. Run 'gdbserver-xen 127.0.0.1:9999 --attach $domid'.
+ 3. Run 'gdb /path/to/vmlinux-syms-2.6.xx-xenU'.
  4. From within the gdb client session:
     # directory /path/to/linux-2.6.xx-xenU [*]
     # target remote 127.0.0.1:9999
     # bt
     # disass
+
+To debug a crashed guest:
+ 1. Add '(enable-dump yes)' to /etc/xen/xend-config.sxp before
+    starting xend.
+ 2. When the domain crashes, a core file is written to
+    '/var/xen/dump/<domain-name>.<domain-id>.core'.
+ 3. Run 'gdbserver-xen 127.0.0.1:9999 --file <core-file>'.
+ 4. Connect to the server as for a running guest.
diff -r 82e8a1d7230f -r 41b1f86628a0 xen/arch/x86/shadow32.c
--- a/xen/arch/x86/shadow32.c   Fri Sep 30 09:48:49 2005
+++ b/xen/arch/x86/shadow32.c   Fri Sep 30 09:50:19 2005
@@ -1836,7 +1836,7 @@
     }
 #endif
 
-    FSH_LOG("%s(gpfn=%lx, mfn=%lx) c=%08x t=%08x", __func__,
+    FSH_LOG("%s(gpfn=%lx, mfn=%lx) c=%08x t=%08lx", __func__,
             gpfn, mfn, page->count_info, page->u.inuse.type_info);
 
     // XXX this will require some more thought...  Cross-domain sharing and
@@ -3017,7 +3017,7 @@
     l1_pgentry_t guest_pte = *p_guest_pte;
     l1_pgentry_t shadow_pte = *p_shadow_pte;
     l1_pgentry_t snapshot_pte = p_snapshot_pte ? *p_snapshot_pte : l1e_empty();
-    l1_pgentry_t eff_guest_pte;
+    l1_pgentry_t eff_guest_pte = l1e_empty();
     unsigned long mask, eff_guest_pfn, eff_guest_mfn, shadow_mfn;
     int errors = 0, guest_writable;
     int page_table_page;
@@ -3074,7 +3074,7 @@
 
     if ( (l1e_get_flags(shadow_pte) & _PAGE_RW ) && !guest_writable )
     {
-        printk("eff_guest_pfn=%lx eff_guest_mfn=%lx shadow_mfn=%lx t=0x%08x 
page_table_page=%d\n",
+        printk("eff_guest_pfn=%lx eff_guest_mfn=%lx shadow_mfn=%lx t=%lx 
page_table_page=%d\n",
                eff_guest_pfn, eff_guest_mfn, shadow_mfn,
                frame_table[eff_guest_mfn].u.inuse.type_info,
                page_table_page);
@@ -3085,7 +3085,7 @@
          (l1e_get_flags(shadow_pte) & _PAGE_RW ) &&
          !(guest_writable && (l1e_get_flags(eff_guest_pte) & _PAGE_DIRTY)) )
     {
-        printk("eff_guest_pfn=%lx eff_guest_mfn=%lx shadow_mfn=%lx t=0x%08x 
page_table_page=%d\n",
+        printk("eff_guest_pfn=%lx eff_guest_mfn=%lx shadow_mfn=%lx t=%lx 
page_table_page=%d\n",
                eff_guest_pfn, eff_guest_mfn, shadow_mfn,
                frame_table[eff_guest_mfn].u.inuse.type_info,
                page_table_page);

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

<Prev in Thread] Current Thread [Next in Thread>