[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] Re: Writing VM Exit handlers in Xen
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().
> Sorry, I should have phrased my question better earlier.
> On 7/29/10, Dulloor <dulloor@xxxxxxxxx> wrote:
>> You might also want to look at 21.6 (VM Execution controls) for the tunables
>> Appendix 1.
>> 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
>>>>> 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
>>> 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.
>>> Xen-devel mailing list
Xen-devel mailing list