[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 11/12] xenctx: Dump registers via hvm info if available.
>>> On 06.11.13 at 21:08, Don Slutz <dslutz@xxxxxxxxxxx> wrote: > @@ -931,7 +1174,44 @@ static void dump_ctx(int vcpu, guest_word_t mem_addr, > guest_word_t stk_addr) > #endif > } else { > if (!stk_addr) { > - print_ctx(&ctx); > +#if defined(__i386__) || defined(__x86_64__) > + if (xenctx.dominfo.hvm && ctxt_word_size == 8) { > + if (guest_word_size == 4) { > + if ((((uint32_t)ctx.x64.user_regs.eip) != cpuctx.rip) || > + (((uint32_t)ctx.x64.user_regs.esp) != cpuctx.rsp) || > + (((uint32_t)ctx.x64.ctrlreg[3]) != cpuctx.cr3)) { > + fprintf(stderr, "Regs mismatch ip=%llx vs %llx > sp=%llx vs %llx cr3=%llx vs %llx\n", > + (long long)((uint32_t)ctx.x64.user_regs.eip), > + (long long)cpuctx.rip, > + (long long)((uint32_t)ctx.x64.user_regs.esp), > + (long long)cpuctx.rsp, > + (long long)((uint32_t)ctx.x64.ctrlreg[3]), > + (long long)cpuctx.cr3); > + fprintf(stdout, "=============Regs mismatch > start=============\n"); > + print_ctx(&ctx); > + fprintf(stdout, "=============Regs mismatch > end=============\n"); > + } > + } else { > + if ((ctx.x64.user_regs.eip != cpuctx.rip) || > + (ctx.x64.user_regs.esp != cpuctx.rsp) || > + (ctx.x64.ctrlreg[3] != cpuctx.cr3)) { > + fprintf(stderr, "Regs mismatch ip=%llx vs %llx > sp=%llx vs %llx cr3=%llx vs %llx\n", > + (long long)ctx.x64.user_regs.eip, > + (long long)cpuctx.rip, > + (long long)ctx.x64.user_regs.esp, > + (long long)cpuctx.rsp, > + (long long)ctx.x64.ctrlreg[3], > + (long long)cpuctx.cr3); > + fprintf(stdout, "=============Regs mismatch > start=============\n"); > + print_ctx(&ctx); > + fprintf(stdout, "=============Regs mismatch > end=============\n"); > + } > + } > + print_cpuctx(&cpuctx); > + } > + else > +#endif > + print_ctx(&ctx); Apart from Andrew's comments, which I agree with - most of the additions above clearly don't belong here: This is not a diagnostic utility. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |