WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] x86 instruction emulation in hvm

To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] x86 instruction emulation in hvm
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
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090415083431.GA10010@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <49E50B49.7000706@xxxxxxxx> <20090415083431.GA10010@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)
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

<Prev in Thread] Current Thread [Next in Thread>