[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 4/6] nestedsvm: Set GIF during VMRUN if vGIF is enabled
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
- Date: Tue, 26 May 2026 13:40:25 +0100
- 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=spydKjB3Jw/7++KbEizvwyVUj7TxzOpGw0J0LXRy+Sc=; b=JfSnWBZpdzxeUKDwnG93MN+MAG7GKPoWK8rTx76rup5IZgqDKNQyG/2ppan2OeTbWebsz7CneKZ4aTz+LDcXnv/5VxnhnQB3JuOXVidcrCpzdSYmv5PzKFjFGGBLEjaR5KvfH09MAzJORUIBQKRmiSJlqdAi5qG4QkTFAvqVtPMSMQfG7egtQft5HPWI/eLoMyGfjnsuwLgPypsUcXdHwwdMJDXnSPVkGJg4AV94NN6xCzPpgPRo4wb5tG6m3d0BzrK1kuxVh1NRCM3ETip02meJYszGhwoStKcacKcf0KsAqNmqhyjsLOHhfHO0a5nASEXEl8+iLRZNY420lpN5zw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Op0gFC2V2eld7JPhwXkzp6y+LZFytW8eSyBzdDXTm6Qhwy2S/v23u8TPk5vBs82PYLZdodiTPJtA1KomSR0NU20o3QUDkf1IliWMgew2AVWfIF4FM2pL8kzzl9EvEA923BkahKUiV2vU0VHqBJjowPXQlBJUK8L7LhHLYJIjmDVb608RuxT2tsIFuQ5UJn3jpgCJH4PtPp0mZSq52+QIb9761liuSupbKyMZ+DtL87ThqGKCUBwtjyyILZzQL/bIJQEVJY/T9yEm4ZoN0MDCLi7rLW7004FkhxsqCIFq1VH5X5u8QWgPE0CHXWRAYdBIlWHe3tW4QYVhJ2iESltHNA==
- 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: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>, Teddy Astie <teddy.astie@xxxxxxxxxx>
- Delivery-date: Tue, 26 May 2026 12:41:10 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
During a VMRUN, the GIF is set by the processor so when Xen emulates
VMRUN, it should set the flag too. This was already handled for !vGIF so
handle it for the vGIF case too.
Fixes: 4cd0fad64590 ("x86/svm: Add virtual GIF support")
Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
xen/arch/x86/hvm/svm/nestedsvm.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index dca07d27d923..9b0bd0358ce4 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -603,10 +603,12 @@ nsvm_vcpu_vmentry(struct vcpu *v, struct cpu_user_regs
*regs,
int ret;
struct nestedvcpu *nv = &vcpu_nestedhvm(v);
struct nestedsvm *svm = &vcpu_nestedsvm(v);
- struct vmcb_struct *ns_vmcb;
+ struct vmcb_struct *ns_vmcb, *n1vmcb;
ns_vmcb = nv->nv_vvmcx;
+ n1vmcb = nv->nv_n1vmcx;
ASSERT(ns_vmcb != NULL);
+ ASSERT(n1vmcb != NULL);
ASSERT(nv->nv_n2vmcx != NULL);
ASSERT(nv->nv_n2vmcx_pa != INVALID_PADDR);
@@ -651,7 +653,10 @@ nsvm_vcpu_vmentry(struct vcpu *v, struct cpu_user_regs
*regs,
return ret;
}
- svm->ns_gif = 1;
+ if ( n1vmcb->_vintr.fields.vgif_enable )
+ n1vmcb->_vintr.fields.vgif = 1;
+ else
+ svm->ns_gif = 1;
return 0;
}
--
2.53.0
|