[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] hypercall execution path?
On Thu, 2007-02-22 at 13:30 -0500, Bryan D. Payne wrote: > > so: what does it point at? what's the page address, which offset? > > On my machine (xen 3.0.4_1, linux 2.6.16.33-xen), the EIP register in > the guest's vcpu holds 0xc01013a7. For reference, the hypercall page is > 0xc0101000, this is at offset 0x3a7 on that page. Looking at the > disassembly from that page at this location, I see the following: > > mov 0x1d, %eax > int $0x82 > ret > > The EIP value is pointing at the 'ret' instruction. Looking in the > hypercall table, this (0x1d) is the sched_op hypercall (which is not the > hypercall that I called). > > > > after looking into traps.c: take good care with the layout: hypercall > > pages on x86_32 are 32 (!) bytes per entry (not 8 as the loop body might > > suggest). are your calculations correct? > > I believe so, but you can verify with the information that I provided > above. 0x1d * 32 = 0x3a0... this matches the offset I'm seeing. > > Hopefully someone can help me make sense of this :-) The most common reason for sched_op being called is that the vcpu is idle (SCHEDOP_block). Are you sure you are looking at the correct vcpu? How are you looking at the EIP register? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |