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

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




On 03/21/14 12:06, Ian Campbell wrote:
On Fri, 2014-03-21 at 15:11 +0000, Jan Beulich wrote:
On 21.03.14 at 16:07, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
On Thu, 2014-03-20 at 15:07 -0400, Don Slutz wrote:

@@ -368,8 +380,11 @@ static void print_ctx_32(vcpu_guest_context_x86_32_t *ctx)
      printf(" gs:     %04x\n", regs->gs);
if (xenctx.disp_all) {
-        print_special(ctx->ctrlreg, "cr", 0x1d, 4);
-        print_special(ctx->debugreg, "dr", 0xcf, 4);
+        uint64_t cr_reg_mask[5] = {0, 0, ~0ULL};
+        uint64_t dr_reg_mask[8] = {~0ULL, ~0ULL, ~0ULL, ~0ULL};
Are you really using 8*64 bits to represent 8 boolean values? Your masks
are all 0 or ~0.
Actually I had asked for this, since special registers may happen to have
(often at their bottom or top) bits not being part of an address.
I thought that might be the case, but I couldn't find any actual
printing of such a register.

Ian.


Getting a kernel value there is not simple. Using a kdb + 2.6.18 kernel, I got:

rip: ffffffff8006bdd8 default_idle+0x29
flags: 00000246 i z p
rsp: ffffffff80467f90
rax: 0000000000000000   rcx: 0000000000000000   rdx: 0000000000000000
rbx: ffffffff8006bdaf   rsi: 0000000000000001   rdi: ffffffff8031e738
rbp: 0000000000086800    r8: ffffffff80466000    r9: 000000000000003f
r10: ffff81003ffb4008   r11: 0000000000000246   r12: 0000000000000000
r13: 0000000000000000   r14: 0000000000000000   r15: 0000000000000000
 cs: 0010        ss: 0018        ds: 0018        es: 0018
 fs: 0000 @ 0000000000000000
 gs: 0000 @ ffffffff80435000/0000000000000000 boot_cpu_pda/

cr0: 000000008005003b
cr2: 00002b1b311c0290
cr3: 0000000033692000
cr4: 00000000000006a0

dr0: ffffffff8006fb6d timer_interrupt+0x15
dr1: 0000000000000000
dr2: 0000000000000000
dr3: 0000000000000000
dr6: 00000000ffff0ff0
dr7: 0000000000000400
Code (instr addr ffffffff8006bdd8)
65 48 8b 04 25 10 00 00 00 8b 80 38 e0 ff ff a8 08 75 04 fb f4 <eb> 01 fb 65 48 8b 04 25 10 00 00


Stack:
 ffffffff8004958f 0000000000200800 ffffffff80471809 0000000000086800
 0000000000000000 ffffffff804c0740 ffffffff8047122f 80008e000010019c
 00000000ffffffff 0000000000000000 0000000000000000 0000000000200000
 0000000000000000 0000000000000000

Call Trace:
  [<ffffffff8006bdd8>] default_idle+0x29 <--
  [<ffffffff8004958f>] cpu_idle+0x95
  [<ffffffff80471809>] start_kernel+0x220
  [<ffffffff8047122f>] x86_64_start_kernel+0x22f


After leaving kdb and the hardware breakpoint disabled.

    -Don Slutz




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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