Skip to content

Nested Virtualization: Overview

Christoph Egger xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest15 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/15Nested Virtualization: toolstools/libxc/xc_cpuid_x86.c tools/python/xen/xend/XendConfig.py tools/python/xen/xend/XendConstants.py +3 more+24 -70 replies
2/15Nested Virtualization: localeventxen/arch/ia64/xen/hypercall.c xen/common/schedule.c xen/include/asm-ia64/event.h +1 more+15 -150 replies
3/15Nested Virtualization: data structurexen/arch/x86/hvm/svm/vmcb.c xen/include/asm-x86/hvm/hvm.h xen/include/asm-x86/hvm/svm/vmcb.h +1 more+63 -40 replies
4/15Nested Virtualization: function hooksxen/arch/x86/hvm/hvm.c xen/include/asm-x86/hvm/hvm.h+105 -00 replies
5/15Nested Virtualization: corexen/arch/x86/hvm/Makefile xen/arch/x86/hvm/nestedhvm.c xen/include/asm-x86/hvm/nestedhvm.h+931 -00 replies
6/15Nested Virtualization: CRn & paged real modexen/arch/x86/hvm/emulate.c xen/arch/x86/hvm/hvm.c xen/include/asm-x86/hvm/support.h+48 -50 replies
7/15Nested Virtualization: eferxen/arch/x86/hvm/hvm.c xen/include/asm-x86/cpufeature.h+17 -60 replies
8/15Nested Virtualization: cpuidxen/arch/x86/hvm/hvm.c+26 -00 replies
9/15Nested Virtualization: MSRxen/arch/x86/hvm/hvm.c+20 -50 replies
10/15Nested Virtualization: interrupts (generic part)xen/arch/x86/hvm/hvm.c xen/arch/x86/x86_32/asm-offsets.c xen/arch/x86/x86_64/asm-offsets.c+15 -00 replies
11/15Nested Virtualization: svm specific implementationxen/arch/x86/hvm/svm/emulate.c xen/arch/x86/hvm/svm/svm.c xen/include/asm-x86/hvm/svm/emulate.h+857 -170 replies
12/15Nested Virtualization: interrupts (svm specific)xen/arch/x86/hvm/svm/entry.S xen/arch/x86/hvm/svm/intr.c+40 -40 replies
13/15Nested Virtualization: enablementxen/arch/x86/hvm/hvm.c+26 -20 replies
14/15Nested Virtualization: p2m infrastructurexen/arch/x86/domain.c xen/arch/x86/domctl.c xen/arch/x86/hvm/emulate.c +22 more+729 -6400 replies
15/15Nested Virtualization: hap-on-hapxen/arch/x86/hvm/hvm.c xen/arch/x86/hvm/nestedhvm.c xen/arch/x86/hvm/svm/svm.c +12 more+929 -400 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/15] Nested Virtualization: Overview

Hi!

This patch series brings Nested Virtualization to Xen. This is the second patch series with a lot of improvements and fixes thanks to Tim Deegan's review.

The patch series:

patch 01: add nestedhvm guest config option to the tools.
This is the only one patch touching the tools
patch 02: change local_event_delivery_* to take vcpu argument.
This prevents spurios xen crashes on guest shutdown/destroy with nestedhvm enabled.
patch 03: Add data structures for nested virtualization.
patch 04: add nestedhvm function hooks, described in XenNestedHVM.pdf patch 05: The heart of nested virtualization.
patch 06: Allow switch to paged real mode during vmrun emulation.
Emulate cr0 and cr4 when guest does not intercept them (i.e. Hyper-V/Windows7)
patch 07: Allow guest to enable SVM in EFER
patch 08: Propagate SVM cpuid feature bits to guest
patch 09: Emulate MSRs needed for nested virtualization
patch 10: Handle interrupts (generic part)
patch 11: SVM specific implementation for nested virtualization patch 12: Handle interrupts (SVM specific)
patch 13: The piece of code that effectively turns nested virtualization on.
Use HVM_PARAM_* this time.
patch 14: Change p2m infrastructure to operate with per-p2m instead
of per-domain. Combined with patch 15, this allows to run nested guest with hap-on-hap.
patch 15: Handle nested pagefault to enable hap-on-hap and handle
nested guest page-table-walks to emulate instructions the guest does not intercept (i.e. WBINVD with Windows 7).

Signature · 6 lines
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632