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

Re: [Xen-devel] hypercall execution path?



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 :-)

Thanks,
bryan


-
Bryan D. Payne
Graduate Student, Computer Science
Georgia Tech Information Security Center
http://www.bryanpayne.org

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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