From: Keir Fraser <keir.fraser@eu.citrix.com>
To: Jonathan White <jonxwhite@gmail.com>, Dulloor <dulloor@gmail.com>,
Patrick Colp <pjcolp@gmail.com>,
George Dunlap <George.Dunlap@eu.citrix.com>,
"Xen-devel@lists.xensource.com" <Xen-de>
Subject: Re: Re: Writing VM Exit handlers in Xen
Date: Thu, 29 Jul 2010 17:09:57 +0100 [thread overview]
Message-ID: <C8776665.1C19E%keir.fraser@eu.citrix.com> (raw)
In-Reply-To: <AANLkTinH76pQRMZWGn35y5DiBk9hj+9jesW3-DvsvQ=L@mail.gmail.com>
On 29/07/2010 16:30, "Jonathan White" <jonxwhite@gmail.com> 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@gmail.com> 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@gmail.com> 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@lists.xensource.com
>>> http://lists.xensource.com/xen-devel
>>>
>>
prev parent reply other threads:[~2010-07-29 16:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-29 8:45 Writing VM Exit handlers in Xen Jonathan White
2010-07-29 8:59 ` George Dunlap
2010-07-29 13:16 ` Patrick Colp
2010-07-29 15:01 ` Dulloor
2010-07-29 15:30 ` Jonathan White
2010-07-29 16:09 ` Keir Fraser [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=C8776665.1C19E%keir.fraser@eu.citrix.com \
--to=keir.fraser@eu.citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=dulloor@gmail.com \
--cc=jonxwhite@gmail.com \
--cc=pjcolp@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).