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/
Home Products Support Community News


RE: [Xen-devel] [PATCH] Calculate correct instruction length fordata-fau

To: <leendert@xxxxxxxxxxxxxx>, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: RE: [Xen-devel] [PATCH] Calculate correct instruction length fordata-fault VM exits on VT-x systems
From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
Date: Sat, 29 Apr 2006 16:48:23 +0100
Cc: "Petersson, Mats" <Mats.Petersson@xxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Khoa Huynh <khoa@xxxxxxxxxx>
Delivery-date: Sat, 29 Apr 2006 08:48:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcZq+XHf7WbQOj0+QW6BUnCVUr3fRwAp/1jg
Thread-topic: [Xen-devel] [PATCH] Calculate correct instruction length fordata-fault VM exits on VT-x systems
> We could do a similar thing for I/O operations. Basically, 
> generate an upcall into qemu-dm on an MMIO or PIO exit and 
> let qemu-dm deal with it.
> It can do the same trick and emulate a number of instructions 
> (1000?) before returning to the HVM partition. This will 
> eliminate expensive VMCS/VMCB exits on subsequent I/O 
> operations (just consider doing a block write on an IDE 
> device in PIO mode, this is common behavior). It will also 
> eliminate the need for the MMIO instruction emulator in the 
> hypervisor.

Having a full emulator available certainly enables lots of cool tricks
(e.g. the taint tracking example in the paper). You wouldn't want to use
it for all MMIO operations (they're often singletons), but for handling
batches is would be good. It's certainly a good way of handling the 16b
issue on Intel.

I think Alex/Michael/Andrew/Chris would be first to admit that the
curent V2E code isn't a thing of beauty. However, if the emulator was
running in a 'miniguest' this would clean things up substantially. 

It would be cool to see a project that was originally considered to be
firmly a research-only thing make it into mainline Xen.

Here's the paper:

Practical Taint-Based Protection using Demand Emulation
Alex Ho, Michael Fetterman, Christopher Clark,
Andrew Warfield, and Steven Hand
University of Cambridge Computer Laboratory
15 JJ Thomson Avenue
Cambridge CB3 0FD


Xen-devel mailing list

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