[PATCH v1 0/5] x86/nestedsvm: rework nested VMRUN/VMEXIT handling

chunjie.zhu@citrix.com posted 5 patches 1 day, 8 hours ago
xen/arch/x86/hvm/svm/entry.S             |  48 +++-
xen/arch/x86/hvm/svm/intr.c              |  22 +-
xen/arch/x86/hvm/svm/nestedhvm.h         |   6 +-
xen/arch/x86/hvm/svm/nestedsvm.c         | 337 ++++++++++++-----------
xen/arch/x86/hvm/svm/svm.c               |  25 +-
xen/arch/x86/hvm/svm/vmcb.c              |  12 +-
xen/arch/x86/hvm/svm/vmcb.h              |   6 +
xen/arch/x86/include/asm/hvm/svm-types.h |   9 +-
xen/arch/x86/include/asm/msr-index.h     |   1 +
xen/arch/x86/mm/p2m.c                    |   5 +
xen/arch/x86/x86_64/asm-offsets.c        |   1 +
11 files changed, 260 insertions(+), 212 deletions(-)
[PATCH v1 0/5] x86/nestedsvm: rework nested VMRUN/VMEXIT handling
Posted by chunjie.zhu@citrix.com 1 day, 8 hours ago
From: Chunjie Zhu <chunjie.zhu@citrix.com>

This series simplifies nested SVM execution by removing pending and
deferred state from the VMRUN and VMEXIT paths.  Nested transitions are
handled directly by rearranging the state transfer and control flow.

The series also removes obsolete interrupt-window and vCPU-switch handling
associated with `nv_vmentry_pending`, while updating the relevant assembly
offsets and nested-SVM data structures.

Patch 1 rearranges VMRUN handling without pending or deferred flags.
Patch 2 removes code related to `nv_vmentry_pending`.
Patch 3 rearranges VMEXIT handling without pending or deferred flags.
Patch 4 update vmcb fields correctly.
Patch 5 fix issues which cause transition failure.

Chunjie Zhu (5):
  x86/nestedsvm: update vmrun without pending or deferred flag
  x86/nestedsvm: remove nv_vmentry_pending
  x86/nestedsvm: update vmexit without pending or deferred flag
  x86/nestedsvm: update vmcb correctly
  x86/nestedsvm: fix up

 xen/arch/x86/hvm/svm/entry.S             |  48 +++-
 xen/arch/x86/hvm/svm/intr.c              |  22 +-
 xen/arch/x86/hvm/svm/nestedhvm.h         |   6 +-
 xen/arch/x86/hvm/svm/nestedsvm.c         | 337 ++++++++++++-----------
 xen/arch/x86/hvm/svm/svm.c               |  25 +-
 xen/arch/x86/hvm/svm/vmcb.c              |  12 +-
 xen/arch/x86/hvm/svm/vmcb.h              |   6 +
 xen/arch/x86/include/asm/hvm/svm-types.h |   9 +-
 xen/arch/x86/include/asm/msr-index.h     |   1 +
 xen/arch/x86/mm/p2m.c                    |   5 +
 xen/arch/x86/x86_64/asm-offsets.c        |   1 +
 11 files changed, 260 insertions(+), 212 deletions(-)

-- 
2.34.1
Re: [PATCH v1 0/5] x86/nestedsvm: rework nested VMRUN/VMEXIT handling
Posted by Jan Beulich 1 day, 8 hours ago
On 23.09.2026 11:20, chunjie.zhu@citrix.com wrote:
> From: Chunjie Zhu <chunjie.zhu@citrix.com>
> 
> This series simplifies nested SVM execution by removing pending and
> deferred state from the VMRUN and VMEXIT paths.  Nested transitions are
> handled directly by rearranging the state transfer and control flow.
> 
> The series also removes obsolete interrupt-window and vCPU-switch handling
> associated with `nv_vmentry_pending`, while updating the relevant assembly
> offsets and nested-SVM data structures.
> 
> Patch 1 rearranges VMRUN handling without pending or deferred flags.
> Patch 2 removes code related to `nv_vmentry_pending`.
> Patch 3 rearranges VMEXIT handling without pending or deferred flags.
> Patch 4 update vmcb fields correctly.
> Patch 5 fix issues which cause transition failure.
> 
> Chunjie Zhu (5):
>   x86/nestedsvm: update vmrun without pending or deferred flag
>   x86/nestedsvm: remove nv_vmentry_pending
>   x86/nestedsvm: update vmexit without pending or deferred flag
>   x86/nestedsvm: update vmcb correctly
>   x86/nestedsvm: fix up

This last patch, unless it was meant as an RFC without being marked so,
surely wants a better title and a non-empty description.

Jan