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

Re: [Xen-devel] RIP register value in p2m_mem_access_check()



Furthermore (with the fresh install of Xen 4.2.0), when modifying xen-access.c to fetch the registers and print RIP out:

624             case MEM_EVENT_REASON_VIOLATION:
625             {
626                 struct hvm_hw_cpu hwcpu;
627
628 if (xc_domain_hvm_getcontext_partial(xch, domain_id, HVM_SAVE_CODE(CPU), 629 req.vcpu_id, &hwcpu, sizeof(hwcpu)) != 0)
630                 {
631 ERROR("xc_domain_hvm_getcontext_partial() failed\n");
632                     interrupted = -1;
633                     continue;
634                 }
635
636                 printf("RIP: 0x%016lx\n", hwCpu.rip);
637                 fflush(stdout);

the RIP it prints out is always the __vmread(GUEST_RIP), not v->arch.user_regs.eip:

xen-access output:

Got event from Xen
RIP: 0x0000000000003272
Got event from Xen
PAGE ACCESS: -w- for GFN 25 (offset 0001ba) gla 00000000000251ba (vcpu 0)
RIP: 0x000000000000fed9
Got event from Xen
PAGE ACCESS: -w- for GFN 0 (offset 00046c) gla 000000000000046c (vcpu 0)
RIP: 0x0000000000000643
Got event from Xen
PAGE ACCESS: -w- for GFN 9f (offset 000e54) gla 000000000009fe54 (vcpu 0)
RIP: 0x0000000000000643
Got event from Xen
PAGE ACCESS: -w- for GFN 32 (offset 000042) gla 0000000000032042 (vcpu 0)
RIP: 0x000000000000009b
Got event from Xen
PAGE ACCESS: -w- for GFN 9a (offset 0003d9) gla 000000000009a3d9 (vcpu 0)
RIP: 0x0000000000000269

corresponding hypervisor log:

(XEN) v->arch.user_regs.eip: 0x0000000000003272, __vmread(GUEST_RIP):0x0000000000003272 (XEN) v->arch.user_regs.eip: 0x0000000000003272, __vmread(GUEST_RIP):0x000000000000fed9 (XEN) v->arch.user_regs.eip: 0x000000000000fed9, __vmread(GUEST_RIP):0x0000000000000643 (XEN) v->arch.user_regs.eip: 0x0000000000000643, __vmread(GUEST_RIP):0x0000000000000643 (XEN) v->arch.user_regs.eip: 0x0000000000000643, __vmread(GUEST_RIP):0x000000000000009b (XEN) v->arch.user_regs.eip: 0x000000000000009b, __vmread(GUEST_RIP):0x0000000000000269


Hope this helps,
Razvan Cojocaru


_______________________________________________
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®.