xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [V5 0/4] add xsaves/xrstors support
@ 2015-09-21 11:33 Shuai Ruan
  2015-09-21 11:33 ` [V5 1/4] x86/xsaves: add basic definitions/helpers to support xsaves Shuai Ruan
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Shuai Ruan @ 2015-09-21 11:33 UTC (permalink / raw)
  To: xen-devel
  Cc: kevin.tian, wei.liu2, Ian.Campbell, stefano.stabellini,
	jun.nakajima, andrew.cooper3, ian.jackson, eddie.dong, jbeulich,
	keir

Changes in v5:
*Address comments from Andrew/Jan,mainly:
*Add lazy writes of the xss_msr.
*Add xsave_area check when save/restore guest.
*Add xsavec support.
*Use word 2 in xen/include/asm-x86/cpufeature.h.
*Fix some code errors.

Changes in v4:
* Address comments from Andrew, mainly:
* No xsaves suporting for pv guest.
* Using xstate_sizes instead of domain_cpuid in hvm_cupid in patch 3.
* Add support for format translation when perform pv guest migration in patch 2. 
* Fix some code errors.

Changes in v3:
* Address comments from Jan/Konrad
* Change the bits of eax/ebx/ecx/edx passed to guest in patch 4.
* Add code to verify whether host supports xsaves or not in patch 1.

Changes in v2:
* Address comments from Andrew/chao/Jan, mainly:
* Add details information of xsaves/xrstors feature.
* Test migration between xsaves-support machine and none-xsaves-support machine 
* Remove XGETBV1/XSAVEC/XSAVEOPT out of 'else' in patch 3.
* Change macro name XGETBV to XGETBV1 in patch 4.

This patchset enable xsaves/xrstors feature which will be available on 
Intel Skylake and later platform. Like xsave/xrstor, xsaves/xrstors 
feature will save and load processor state from a region of memory called 
XSAVE area. While unlike xsave/xrstor, xsaves/xrstors:

a) use the compacted format only for the extended region 
   of the XSAVE area which saves memory for you;
b) can operate on supervisor state components so the feature
   is prerequisite to support new supervisor state components;
c) execute only if CPL=0. 

Detail hardware spec can be found in chapter 13 (section 13.11 13.12) of the 
Intel SDM [1].

patch1: add basic definition/function to support xsaves
patch2: add xsaves/xrstors support for xen
patch3-4: add xsaves/xrstors support for hvm guest


[1] Intel SDM (http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf)


Shuai Ruan (4):
  x86/xsaves: add basic definitions/helpers to support xsaves
  x86/xsaves: enable xsaves/xrstors/xsavec in xen
  x86/xsaves: enable xsaves/xrstors for hvm guest
  libxc: expose xsaves/xgetbv1/xsavec to hvm guest

 tools/libxc/xc_cpuid_x86.c         |  14 +-
 xen/arch/x86/domain.c              |   3 +
 xen/arch/x86/domctl.c              |  38 ++++-
 xen/arch/x86/hvm/hvm.c             |  51 ++++++-
 xen/arch/x86/hvm/vmx/vmcs.c        |   6 +-
 xen/arch/x86/hvm/vmx/vmx.c         |  20 +++
 xen/arch/x86/i387.c                |   4 +
 xen/arch/x86/traps.c               |   7 +-
 xen/arch/x86/xstate.c              | 304 ++++++++++++++++++++++++++++++++-----
 xen/include/asm-x86/cpufeature.h   |   6 +-
 xen/include/asm-x86/hvm/vcpu.h     |   1 +
 xen/include/asm-x86/hvm/vmx/vmcs.h |   6 +
 xen/include/asm-x86/hvm/vmx/vmx.h  |   2 +
 xen/include/asm-x86/msr-index.h    |   2 +
 xen/include/asm-x86/xstate.h       |  19 ++-
 15 files changed, 415 insertions(+), 68 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-10-09  8:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-21 11:33 [V5 0/4] add xsaves/xrstors support Shuai Ruan
2015-09-21 11:33 ` [V5 1/4] x86/xsaves: add basic definitions/helpers to support xsaves Shuai Ruan
2015-09-28  9:01   ` Jan Beulich
2015-10-09  8:17     ` Shuai Ruan
     [not found]     ` <20151009081743.GB13489@shuai.ruan@linux.intel.com>
2015-10-09  8:27       ` Jan Beulich
2015-09-21 11:33 ` [V5 2/4] x86/xsaves: enable xsaves/xrstors/xsavec in xen Shuai Ruan
2015-09-28 16:03   ` Jan Beulich
2015-10-09  5:49     ` Shuai Ruan
     [not found]     ` <20151009054906.GA10028@shuai.ruan@linux.intel.com>
2015-10-09  7:13       ` Jan Beulich
2015-10-09  8:14         ` Shuai Ruan
     [not found]         ` <20151009081437.GA13489@shuai.ruan@linux.intel.com>
2015-10-09  8:30           ` Jan Beulich
2015-09-21 11:34 ` [V5 3/4] x86/xsaves: enable xsaves/xrstors for hvm guest Shuai Ruan
2015-09-29  8:38   ` Jan Beulich
2015-09-21 11:34 ` [V5 4/4] libxc: expose xsaves/xgetbv1/xsavec to " Shuai Ruan
2015-09-21 11:49   ` Jan Beulich

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).