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 Latest18 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18Nested Virtualization: toolstools/libxc/xc_cpuid_x86.c tools/python/xen/xend/XendConfig.py tools/python/xen/xend/XendDomainInfo.py +3 more+22 -53 replies
2/18Nested Virtualization: viridianxen/arch/x86/hvm/viridian.c xen/include/asm-x86/hvm/viridian.h+10 -90 replies
3/18Nested Virtualization: localeventxen/arch/ia64/xen/hypercall.c xen/common/schedule.c xen/include/asm-ia64/event.h +1 more+15 -150 replies
4/18Nested Virtualization: p2m cleanupxen/arch/x86/hvm/emulate.c xen/arch/x86/hvm/hvm.c xen/arch/x86/hvm/stdvga.c +6 more+31 -2227 replies
5/18Nested Virtualization: paged real modexen/arch/x86/hvm/hvm.c+0 -30 replies
6/18Nested Virtualization: p2m phystablexen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/svm/vmcb.c xen/arch/x86/hvm/vmx/vmx.c +7 more+44 -341 reply
7/18Nested Virtualization: data structurexen/arch/x86/hvm/svm/vmcb.c xen/include/asm-x86/hvm/domain.h xen/include/asm-x86/hvm/hvm.h +2 more+57 -40 replies
8/18Nested Virtualization: function hooksxen/arch/x86/hvm/hvm.c xen/include/asm-x86/hvm/hvm.h+104 -00 replies
9/18Nested Virtualization: corexen/arch/x86/hvm/Makefile xen/arch/x86/hvm/nestedhvm.c xen/include/asm-x86/hvm/nestedhvm.h+988 -00 replies
10/18Nested Virtualization: eferxen/arch/x86/hvm/hvm.c xen/include/asm-x86/cpufeature.h+16 -30 replies
11/18Nested Virtualization: cpuidxen/arch/x86/hvm/hvm.c+26 -01 reply
12/18Nested Virtualization: MSRxen/arch/x86/hvm/hvm.c+20 -50 replies
13/18Nested 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+17 -00 replies
14/18Nested 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+852 -141 reply
15/18Nested Virtualization: interrupts (svm specific)xen/arch/x86/hvm/svm/entry.S xen/arch/x86/hvm/svm/intr.c+42 -40 replies
16/18Nested Virtualization: enablementxen/arch/x86/domain.c xen/arch/x86/hvm/hvm.c xen/common/domctl.c +1 more+30 -40 replies
17/18Nested Virtualization: p2m infrastructurexen/arch/x86/domain.c xen/arch/x86/domctl.c xen/arch/x86/hvm/emulate.c +21 more+751 -6521 reply
18/18Nested Virtualization: hap-on-hapxen/arch/x86/hvm/hvm.c xen/arch/x86/hvm/svm/svm.c xen/arch/x86/hvm/vmx/vmx.c +7 more+713 -82 replies

Reviews trailers per patch

1 of 18 patches has a Reviewed-by or Acked-by.

PatchTim Deegan
1/18
2/18
3/18
4/18
5/18
6/18A-b
7/18
8/18
9/18
10/18
11/18
12/18
13/18
14/18
15/18
16/18
17/18
18/18

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

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

Hi!

This patch series brings Nested Virtualization to Xen.
I have attached two documents Nested_Virtualization.pdf and XenNestedHVM.pdf.

The first describes how nested virtualization works in general and the latter describes the xen implementation in detail.

The patch series:

patch 01: add nestedhvm guest config option to the tools
This is the only one patch touching the tools
patch 02: move viridian MSRs into the viridian header for use in an
other file added in patch 09.
patch 03: change local_event_delivery_* to take vcpu argument.
This prevents spurious xen crashes on guest shutdown/destroy with nestedhvm enabled.
patch 04: obsolete gfn_to_mfn_current and remove it.
gfn_to_mfn_current is redundant to
gfn_to_mfn(current->domain, ...)
This patch reduces the size of patch 17.
patch 05: hvm_set_cr0: Allow guest to switch into paged real mode.
This makes hvmloader boot when we use xen in xen.
patch 06: Move phys_table from struct domain to struct p2m_domain.
Combined with patch 17 and patch 18, this allows to run nested guest with hap.
patch 07: Add data structures for nested virtualization.
patch 08: add nestedhvm function hooks, described in XenNestedHVM.pdf patch 09: The heart of nested virtualization.
patch 10: Allow guest to enable SVM in EFER
patch 11: Propagate SVM cpuid feature bits to guest
patch 12: Emulate MSRs needed for nested virtualization
patch 13: Handle interrupts (generic part)
patch 14: SVM specific implementation for nested virtualization patch 15: Handle interrupts (SVM specific)
patch 16: The piece of code that effectively turns nested virtualization on patch 17: Change p2m infrastructure to operate with per-p2m instead
of per-domain. Combined with patch 06 and patch 18, this allows to run nested guest with hap.
patch 18: Handle nested pagefault to enable hap-on-hap

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

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel