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

Re: [Xen-devel] Re: Writing VM Exit handlers in Xen

To: Jonathan White <jonxwhite@xxxxxxxxx>, Dulloor <dulloor@xxxxxxxxx>, Patrick Colp <pjcolp@xxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxxxxx>, "Xen-devel@xxxxxxxxxxxxxxxxxxx" <Xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Re: Writing VM Exit handlers in Xen
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Thu, 29 Jul 2010 17:09:57 +0100
Cc:
Delivery-date: Thu, 29 Jul 2010 09:12:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTinH76pQRMZWGn35y5DiBk9hj+9jesW3-DvsvQ=L@xxxxxxxxxxxxxx>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcsvMw2yOXoCSRmlTa2eg1xD240OVgABW8tG
Thread-topic: [Xen-devel] Re: Writing VM Exit handlers in Xen
User-agent: Microsoft-Entourage/12.24.0.100205
On 29/07/2010 16:30, "Jonathan White" <jonxwhite@xxxxxxxxx> wrote:

> Thanks so much for your responses.
> Yes, I am familiar with the Intel manuals and VT chapters in volume
> 3B. My question was where to look in the Xen or dom0 code to tweak
> what VMExits are enabled in the VMCS of a particular HVM guest, so
> that VTx actually traps on those conditions and gives me an
> opportunity to handle them in a handler.
> Do I modify VMCS structure directly in Xen somewhere, or are there
> easier interfaces available for VMCS management?

The intercepts get set up for a new vcpu in
xen/arch/x86/hvm/vmx/vmcs.c:construct_vmcs(). See how certain VMCS control
fields are shadowed in the per-vcpu infor structure. You can also update
these after a vcpu is initialised, and then write the shadow field back to
the VMCS (see for example xen/arch/x86/hvm/vmx/vmx.c:vmx_save_dr() which
updates VMCS field CPU_BASED_VM_EXEC_CONTROL). The vmexits when they occur
are demuxed in xen/arch/x86/hvm/vmx/vmx.c:vmx_vmexit_handler().

 K.

> Sorry, I should have phrased my question better earlier.
> 
> Thanks,
> Jon
> 
> 
> On 7/29/10, Dulloor <dulloor@xxxxxxxxx> wrote:
>> You might also want to look at 21.6 (VM Execution controls) for the tunables
>> and
>> Appendix 1.
>> 
>> -dulloor
>> 
>> On Thu, Jul 29, 2010 at 6:16 AM, Patrick Colp <pjcolp@xxxxxxxxx> wrote:
>>>>> I would like to start write some simple Intel-VT VMExit handlers in Xen
>>>>> -
>>>>> for e.g. when CPUID is executed, or some other VM Exit condition is
>>>>> satisfied.
>>>>> How can I define new VMExit conditions for a Intel-VT based HVM guest
>>>>> (WinXP) in Xen? and how can I write simple handlers for those
>>>>> conditions?
>>> 
>>> You can't define new VMExit conditions. For all the possible exit
>>> conditions, look at Intel's "Intel 64 and IA-32 Architectures Software
>>> Developer's Manual", Volume 3B. In the current (or near current)
>>> edition, you want to look at chapter 24 - VM Exits.
>>> 
>>> 
>>> Patrick
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>>> 
>> 



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

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