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

[Xen-devel] x86 instruction emulation in hvm


  • To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Emre Can Sezer <ecsezer@xxxxxxxx>
  • Date: Thu, 07 May 2009 15:39:42 -0400
  • Delivery-date: Thu, 07 May 2009 12:40:19 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

I'm running an HVM guest using shadow page tables on a 64bit machine. I'm working on a project where I mark certain pages read-only and capture the writes into these pages. I then try to emulate the write instructions using x86_emulate as is done in arch/x86/mm/shadow/multi.c.

The instruction I'm trying to emulate is:
asm("mov %%gs,%0" : "=m" (p->thread.gsindex));

Since the source operand is a segment register, and the x86_emulate_ops structure that is being used does not have a ops->read_segment function defined, the emulation fails.

Is there an easy way to add or activate this functionality? Perhaps a full emulator, since one would expect to see other cases of memory writes that are not handled as well.

Thanks,

John

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