[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] nested virtualization: tracing capabilities
At 15:26 +0100 on 07 Apr (1302189962), Christoph Egger wrote: > # HG changeset patch > # User cegger > # Date 1302180533 -7200 > Tracing facility for nested virtualization > > Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx> > > diff -r ee39668a7840 -r aef9e2deb9a7 tools/xentrace/formats > --- a/tools/xentrace/formats > +++ b/tools/xentrace/formats > @@ -5,6 +5,7 @@ 0x0001f002 CPU%(cpu)d %(tsc)d (+%(relt > 0x0001f003 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_change 0x%(1)08x > 0x0001f004 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) trace_irq [ vector = > %(1)d, count = %(2)d, tot_cycles = 0x%(3)08x, max_cycles = 0x%(4)08x ] > > +0x00021002 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) continue_running [ > dom:vcpu = 0x%(1)08x ] > 0x00021011 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) running_to_runnable [ > dom:vcpu = 0x%(1)08x ] > 0x00021021 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) running_to_blocked [ > dom:vcpu = 0x%(1)08x ] > 0x00021031 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) running_to_offline [ > dom:vcpu = 0x%(1)08x ] > @@ -34,7 +35,10 @@ 0x0002800d CPU%(cpu)d %(tsc)d (+%(relt > 0x0002800e CPU%(cpu)d %(tsc)d (+%(reltsc)8d) switch_infprev [ > old_domid = 0x%(1)08x, runtime = %(2)d ] > 0x0002800f CPU%(cpu)d %(tsc)d (+%(reltsc)8d) switch_infnext [ > new_domid = 0x%(1)08x, time = %(2)d, r_time = %(3)d ] > > -0x00081001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) VMENTRY > +0x00081401 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) nVMENTRY [ rIP = > 0x%(1)08x ] > +0x00081402 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) nVMEXIT [ exitcode = > 0x%(1)08x, rIP = 0x%(2)08x, intercepted = 0x%(5)01x ] > +0x00081502 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) nVMEXIT [ exitcode = > 0x%(1)08x, rIP = 0x%(3)08x%(2)08x, intercepted = 0x%(6)01x ] > +0x00081001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) VMENTRY [ rIP = > 0x%(1)08x ] Shouldn't these be kept in numerical order? > diff -r ee39668a7840 -r aef9e2deb9a7 xen/arch/x86/hvm/emulate.c > --- a/xen/arch/x86/hvm/emulate.c > +++ b/xen/arch/x86/hvm/emulate.c > @@ -45,6 +45,9 @@ static void hvmtrace_io_assist(int is_mm > size += 4; > } > > + *(uint32_t *)&buffer[size] = guest_cpu_user_regs()->eip; > + size += 4; > + ...unconditionally overruning a stack buffer with a guest register. > trace_var(event, 0/*!cycles*/, size, buffer); > } > > @@ -153,8 +156,6 @@ static int hvmemul_do_io( > p->df = df; > p->data = value; > > - hvmtrace_io_assist(is_mmio, p); > - > if ( is_mmio ) > { > rc = hvm_mmio_intercept(p); > @@ -166,6 +167,8 @@ static int hvmemul_do_io( > rc = hvm_portio_intercept(p); > } > > + hvmtrace_io_assist(is_mmio, p); > + Why so? Tim. -- Tim Deegan <Tim.Deegan@xxxxxxxxxx> Principal Software Engineer, Xen Platform Team Citrix Systems UK Ltd. (Company #02937203, SL9 0BG) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |