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

Re: [Xen-devel] [PATCH v4 13/15] xenctx: Add convert of more registers to symbols

On 03/19/14 04:30, Jan Beulich wrote:
On 18.03.14 at 23:15, Don Slutz <dslutz@xxxxxxxxxxx> wrote:
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -333,10 +333,14 @@ static void print_special(void *regs, const char *name, 
unsigned int mask, int w
      for (i = 0; mask; mask >>= 1, ++i)
          if (mask & 1) {
-            if (width == 4)
-                printf("%s%u: %08"PRIx32"\n", name, i, ((uint32_t *) regs)[i]);
-            else
-                printf("%s%u: %08"PRIx64"\n", name, i, ((uint64_t *) regs)[i]);
+            if (width == 4) {
+                printf("%s%u: %08"PRIx32, name, i, ((uint32_t *) regs)[i]);
+                print_symbol(((uint32_t *) regs)[i], KERNEL_DATA_ADDR);
+            } else {
+                printf("%s%u: %016"PRIx64, name, i, ((uint64_t *) regs)[i]);
+                print_symbol(((uint64_t *) regs)[i], KERNEL_DATA_ADDR);
+            }
+            printf("\n");
I don't think this is reasonable for all special registers, and hence
I think you ought to pass in a flag indicating whether the register
is holding some sort of address (which may become further
complicated if only part of a register forms an address, so maybe
passing in a mask would be even better, with the mask being zero
indicating that this isn't an address at all).

Ok, I think I get this, will rework.
   -Don Slutz


Xen-devel mailing list



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