aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xentrace/xenctx.c
diff options
context:
space:
mode:
authorawilliam@xenbuild.aw <awilliam@xenbuild.aw>2006-06-19 13:35:49 -0600
committerawilliam@xenbuild.aw <awilliam@xenbuild.aw>2006-06-19 13:35:49 -0600
commit75673932b64b1573fee23e5f65094d9dc200597c (patch)
tree881f320c602c8f5910d6ee9a7db6a6f22f1bb2ec /tools/xentrace/xenctx.c
parent832cc7c654f46ea731204ffa137c97cb1459fad4 (diff)
downloadxen-75673932b64b1573fee23e5f65094d9dc200597c.tar.gz
xen-75673932b64b1573fee23e5f65094d9dc200597c.tar.bz2
xen-75673932b64b1573fee23e5f65094d9dc200597c.zip
[IA64] fix is_kernel_text in xenctx and show more registers
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Diffstat (limited to 'tools/xentrace/xenctx.c')
-rw-r--r--tools/xentrace/xenctx.c55
1 files changed, 39 insertions, 16 deletions
diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
index 368dbf0a1d..4f98d89397 100644
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -72,6 +72,9 @@ int is_kernel_text(size_t addr)
#elif defined (__x86_64__)
if (symbol_table == NULL)
return (addr > 0xffffffff80000000UL);
+#elif defined (__ia64__)
+ if (symbol_table == NULL)
+ return (addr > 0xa000000000000000UL);
#endif
if (addr >= kernel_stext &&
@@ -269,24 +272,44 @@ void print_ctx(vcpu_guest_context_t *ctx1)
{
struct cpu_user_regs *regs = &ctx1->user_regs;
- printf("iip: %016lx ", regs->cr_iip);
+ printf("iip: %016lx ", regs->cr_iip);
print_symbol(regs->cr_iip);
printf("\n");
- printf(" sp: %016lx ", regs->r12);
- printf(" b0: %016lx\n", regs->b0);
- printf(" tp: %016lx ", regs->r13);
- printf(" r1: %016lx\n", regs->r1);
-
-
- printf(" r2: %016lx ", regs->r2);
- printf(" r3: %016lx\n", regs->r3);
- printf(" r4: %016lx ", regs->r4);
- printf(" r5: %016lx\n", regs->r5);
-
- printf(" r6: %016lx ", regs->r6);
- printf(" r7: %016lx\n", regs->r7);
- printf(" r8: %016lx ", regs->r8);
- printf(" r9: %016lx\n", regs->r9);
+ printf("psr: %016lu ", regs->cr_ipsr);
+ printf(" b0: %016lx\n", regs->b0);
+
+ printf(" r1: %016lx\n", regs->r1);
+ printf(" r2: %016lx ", regs->r2);
+ printf(" r3: %016lx\n", regs->r3);
+ printf(" r4: %016lx ", regs->r4);
+ printf(" r5: %016lx\n", regs->r5);
+ printf(" r6: %016lx ", regs->r6);
+ printf(" r7: %016lx\n", regs->r7);
+ printf(" r8: %016lx ", regs->r8);
+ printf(" r9: %016lx\n", regs->r9);
+ printf(" r10: %016lx ", regs->r10);
+ printf(" r11: %016lx\n", regs->r11);
+ printf(" sp: %016lx ", regs->r12);
+ printf(" tp: %016lx\n", regs->r13);
+ printf(" r14: %016lx ", regs->r14);
+ printf(" r15: %016lx\n", regs->r15);
+ printf(" r16: %016lx ", regs->r16);
+ printf(" r17: %016lx\n", regs->r17);
+ printf(" r18: %016lx ", regs->r18);
+ printf(" r19: %016lx\n", regs->r19);
+ printf(" r20: %016lx ", regs->r20);
+ printf(" r21: %016lx\n", regs->r21);
+ printf(" r22: %016lx ", regs->r22);
+ printf(" r23: %016lx\n", regs->r23);
+ printf(" r24: %016lx ", regs->r24);
+ printf(" r25: %016lx\n", regs->r25);
+ printf(" r26: %016lx ", regs->r26);
+ printf(" r27: %016lx\n", regs->r27);
+ printf(" r28: %016lx ", regs->r28);
+ printf(" r29: %016lx\n", regs->r29);
+ printf(" r30: %016lx ", regs->r30);
+ printf(" r31: %016lx\n", regs->r31);
+
}
#endif