[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: chunjie.zhu@xxxxxxxxxx
  • Date: Wed, 23 Sep 2026 17:20:40 +0800
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/G3pWmU7e5VB5nwmAFh2EbKY1eIA5N6iRNC787XIaAE=; b=HYECa/kbt5M39f+XsZzZHx/XFvW5zh3THT0Zfo2Z3jE4u2fN7ZqYMywsfW/5CyxZ/F6Je47ggurBDG+TtnT6oNhx6uxKLt91FMv2GOX9++9n56+Jrxfz7nzbZii4zYwOU+TgxjKFkvDslgHhRddVTVfdj/IXSvzrLkPbaiYrF1uMGCr2JqMwGuD9vgcAZsKMm931ippIKJrQ1mC4NJ0oHSAqXV33yvTC1AvkDjv0J2KQfgXdxK9Xj7eNJqaz6UgAxX0irZprtmiA52pJaBAnvNUXZsW1slXzwiJZhKhL5autegMJl0YaY25eCDnl46+id6OKsRUXrm4rR036pe2JjQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fdo2xB9wTRYMrB9qYzO+wrhja9wfijxxRdOXFWHWfUXEUMN/8eQGG3KEDXvZMlc0bmCmKAVWTztHQvlBiIRCp6Bi0XPF97Wt4t1s+Fr6T5RbCgGEGfoTQdYvBP2Pof0T5+MvNn5k21AnDDb/Joc6mrR19/933/GSkNLpZoxDIvfH0ETjcfe9PkWifHImADYcT13zWAL330OxOmDckv7mZqFp8fE+Sw4VYzx6dS39GvIuXPbwSu5BVI94LYr5zSEUzg+OruZZcgWaI66aZ5J6Mcxs8uJIXZYTzV4hd2OoBYVYrTusoGrykg4XHk/ubXwHjgjbYzqdAhWiaudrkxC7wQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-Id:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: jbeulich@xxxxxxxx, andrew.cooper3@xxxxxxxxxx, roger@xxxxxxxxxxxxxx, jason.andryuk@xxxxxxx, teddy.astie@xxxxxxxxxx, Chunjie Zhu <chunjie.zhu@xxxxxxxxxx>
  • Delivery-date: Wed, 23 Sep 2026 09:21:10 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

From: Chunjie Zhu <chunjie.zhu@xxxxxxxxxx>

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




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.