[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xenctx: print x86_32 context on x86_64
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1233917038 0 # Node ID a5bd5722360cd6c0a2e8b7e85208e05e7cb3f6cf # Parent 4fcf4c9c9751ccb8ed427470655e4c100db4f908 xenctx: print x86_32 context on x86_64 Although x86_64 context covers x86_32, I think it's easy to watch. Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx> --- tools/xentrace/xenctx.c | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+) diff -r 4fcf4c9c9751 -r a5bd5722360c tools/xentrace/xenctx.c --- a/tools/xentrace/xenctx.c Fri Feb 06 10:42:26 2009 +0000 +++ b/tools/xentrace/xenctx.c Fri Feb 06 10:43:58 2009 +0000 @@ -288,6 +288,35 @@ static void print_ctx_32(vcpu_guest_cont } } +static void print_ctx_32on64(vcpu_guest_context_x86_64_t *ctx) +{ + struct cpu_user_regs_x86_64 *regs = &ctx->user_regs; + + printf("cs:eip: %04x:%08x ", regs->cs, (uint32_t)regs->eip); + print_symbol((uint32_t)regs->eip); + print_flags((uint32_t)regs->eflags); + printf("ss:esp: %04x:%08x\n", regs->ss, (uint32_t)regs->esp); + + printf("eax: %08x\t", (uint32_t)regs->eax); + printf("ebx: %08x\t", (uint32_t)regs->ebx); + printf("ecx: %08x\t", (uint32_t)regs->ecx); + printf("edx: %08x\n", (uint32_t)regs->edx); + + printf("esi: %08x\t", (uint32_t)regs->esi); + printf("edi: %08x\t", (uint32_t)regs->edi); + printf("ebp: %08x\n", (uint32_t)regs->ebp); + + printf(" ds: %04x\t", regs->ds); + printf(" es: %04x\t", regs->es); + printf(" fs: %04x\t", regs->fs); + printf(" gs: %04x\n", regs->gs); + + if (disp_all) { + print_special(ctx->ctrlreg, "cr", 0x1d, 4); + print_special(ctx->debugreg, "dr", 0xcf, 4); + } +} + static void print_ctx_64(vcpu_guest_context_x86_64_t *ctx) { struct cpu_user_regs_x86_64 *regs = &ctx->user_regs; @@ -336,6 +365,8 @@ static void print_ctx(vcpu_guest_context { if (ctxt_word_size == 4) print_ctx_32(&ctx->x32); + else if (guest_word_size == 4) + print_ctx_32on64(&ctx->x64); else print_ctx_64(&ctx->x64); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |