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

[Xen-ia64-devel] [PATCH 2/7] vti fault handler clean up: print VTI_DEBUG info



# HG changeset patch
# User yamahata@xxxxxxxxxxxxx
# Date 1195714002 -32400
# Node ID 7d0e55f5a6075bd5af846903e386a6a640f4bf8c
# Parent  a734b0e01f127f6fe8466c49b325e95347219fc1
make register dumper print VTI_DEBUG info.
PATCHNAME: debug_vti_debug_print

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>

diff -r a734b0e01f12 -r 7d0e55f5a607 xen/arch/ia64/linux-xen/process-linux-xen.c
--- a/xen/arch/ia64/linux-xen/process-linux-xen.c       Thu Sep 27 11:33:01 
2007 +0900
+++ b/xen/arch/ia64/linux-xen/process-linux-xen.c       Thu Nov 22 15:46:42 
2007 +0900
@@ -116,6 +116,36 @@ EXPORT_SYMBOL(dump_stack);
 EXPORT_SYMBOL(dump_stack);
 
 #ifdef XEN
+#ifdef VTI_DEBUG
+static void
+ivt_debug_print(int i, const struct ivt_debug* ivt_debug)
+{
+       printk("%03d: iip 0x%016lx ipsr 0x%016lx ifa 0x%016lx\n"
+              "     vec %02ld\n",
+              i,
+              ivt_debug->iip,
+              ivt_debug->ipsr,
+              ivt_debug->ifa,
+              ivt_debug->vector);
+}
+
+static void
+vmx_ivt_debug_print(struct vcpu* v)
+{
+       unsigned int i;
+       unsigned int current_idx =
+               v->arch.arch_vmx.ivt_current / sizeof(struct ivt_debug);
+       for (i = current_idx; i < IVT_DEBUG_MAX; i++)
+               ivt_debug_print(i, &v->arch.arch_vmx.ivt_debug[i]);
+       for (i = 0; i < current_idx; i++)
+               ivt_debug_print(i, &v->arch.arch_vmx.ivt_debug[i]);
+}
+#else
+#define vmx_ivt_debug_print(v) do{ } while (0)
+#endif
+#endif
+
+#ifdef XEN
 void
 show_registers(struct pt_regs *regs)
 #else
@@ -137,6 +167,8 @@ show_regs (struct pt_regs *regs)
                printk("d 0x%p domid %d\n", d, d->domain_id);
                printk("vcpu 0x%p vcpu %d\n",
                       vcpu, vcpu->vcpu_id);
+               if (VMX_DOMAIN(vcpu))
+                       vmx_ivt_debug_print(vcpu);
        }
        printk("\nCPU %d\n", smp_processor_id());
        printk("psr : %016lx ifs : %016lx ip  : [<%016lx>]\n",

Attachment: 16419_7d0e55f5a607_debug_vti_debug_print.patch
Description: Text Data

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

 


Rackspace

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