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

Re: [Xen-devel] how can I find code of hypercall?


  • To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • From: leilei175 <leilei175@xxxxxxxxx>
  • Date: Wed, 11 Mar 2009 20:37:15 +0800
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Jayaraman, Bhaskar" <Bhaskar.Jayaraman@xxxxxxx>
  • Delivery-date: Wed, 11 Mar 2009 05:37:41 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=s6x4olmx18kYiHKZVjwx3CTAf0UtqwsHOXHvNLrgVpFwXiE+6a7d/vvKVWDzW0itbR UTU+fKHd0TMdFbSoOVQWSToQyFAcmleoIpsFZz2lCHjAHugKOZgB99PXLbemd+/BY35B iDOTqS8dnNXSe7h3q6117D9HRgmoEoCYiKlVk=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi, keir and Jayaraman,
Thanks for your explanation

Keir Fraser wrote:
On 11/03/2009 10:08, "Jayaraman, Bhaskar" <Bhaskar.Jayaraman@xxxxxxx> wrote:

I've done this on an HVM. For Intel, you can go to platform-pci and dump the
hypercall page on the console 4 bytes at a time. Each 4 byte value on the
hypercall page constitutes an Intel x86 instruction, and you should find
something like this: -
0xc1010f00 0xccccccc3

You know x86 instructions are not fixed-length, right? Actually the
instruction sequence is:
 0xb8 <imm32>   : mov imm32,%eax (5-byte instruction)
 0x0f 0x01 0xc1 : vmcall (3-byte instruction)
 0xc3           : ret (1-byte instruction)

See xen/arch/x86/hvm/vmx/vmx.c:vmx_init_hypercall_page().

 -- Keir





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