From: Dongxiao Xu <dongxiao.xu@intel.com>
To: xen-devel@lists.xensource.com
Cc: eddie.dong@intel.com, xiantao.zhang@intel.com, jun.nakajima@intel.com
Subject: [PATCH 0/4] nested vmx: enable VMCS shadowing feature
Date: Thu, 17 Jan 2013 13:37:28 +0800 [thread overview]
Message-ID: <1358401052-14036-1-git-send-email-dongxiao.xu@intel.com> (raw)
Latest Intel SDM introduced a new feature "VMCS shadowing" at bit 14 in
Secondary Processor-Based VM-Execution Controls for nested virtualization.
The main purpose of this feature is to reduce or eliminate the number of VM exit
for non-root VMREAD and VMWRITE. It provides the capability to link a
"virtual VMCS" with the current running VMCS, so that after VM entry, the
non-root VMREAD and VMWRITE can get/set related data directly from/to the
"virtual VMCS" without trap and emulation.
A separate bitmap is introduced for VMREAD and VMWRITE, from which hypervisor
can control whether VMREAD/VMWRITE from/to certain VMCS field will trigger
VM exit or directly get/set data by hardware.
With the new feature introduced, all the in "virtual VMCS" need to be operated
by VMREAD and VMWRITE because this VMCS will also be loaded into hardware.
This requires the capability to VMWRITE all the VMCS fields, including those
readonly ones. Intel SDM introduces this functionality at bit 29 in
IA32_VMX_MISC MSR.
For details, please refer to:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
Thanks,
Dongxiao
Dongxiao Xu (4):
nested vmx: Use a list to store the launched vvmcs for L1 VMM
nested vmx: use VMREAD/VMWRITE to construct vVMCS if enabled VMCS
shadowing
nested vmx: optimize for bulk access of virtual VMCS
nested vmx: enable VMCS shadowing feature
xen/arch/x86/hvm/vmx/vmcs.c | 92 +++++++++++++++-
xen/arch/x86/hvm/vmx/vvmx.c | 220 +++++++++++++++++++++++++++++++-----
xen/include/asm-x86/hvm/vmx/vmcs.h | 23 ++++-
xen/include/asm-x86/hvm/vmx/vvmx.h | 22 +++-
4 files changed, 321 insertions(+), 36 deletions(-)
next reply other threads:[~2013-01-17 5:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-17 5:37 Dongxiao Xu [this message]
2013-01-17 5:37 ` [PATCH 1/4] nested vmx: Use a list to store the launched vvmcs for L1 VMM Dongxiao Xu
2013-01-17 11:38 ` Jan Beulich
2013-01-17 12:39 ` Xu, Dongxiao
2013-01-17 12:58 ` Jan Beulich
2013-01-17 5:37 ` [PATCH 2/4] nested vmx: use VMREAD/VMWRITE to construct vVMCS if enabled VMCS shadowing Dongxiao Xu
2013-01-17 11:40 ` Jan Beulich
2013-01-17 5:37 ` [PATCH 3/4] nested vmx: optimize for bulk access of virtual VMCS Dongxiao Xu
2013-01-17 11:48 ` Jan Beulich
2013-01-17 5:37 ` [PATCH 4/4] nested vmx: enable VMCS shadowing feature Dongxiao Xu
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=1358401052-14036-1-git-send-email-dongxiao.xu@intel.com \
--to=dongxiao.xu@intel.com \
--cc=eddie.dong@intel.com \
--cc=jun.nakajima@intel.com \
--cc=xen-devel@lists.xensource.com \
--cc=xiantao.zhang@intel.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).