[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/3] hvm: add hvm_funcs hooks for msr intercept handling
- To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Xenia Ragiadakou <xenia.ragiadakou@xxxxxxx>
- Date: Mon, 24 Apr 2023 11:20:35 +0300
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=/AT/BDH1B9LopiCynqMsAL8ehH/tawPNLS5lO/XRNmc=; b=P9+3r9+dEY+Tqvz4mJ7HQsag9IMrkDV9ViEZFHw6W7wQHJxjCM0G2yXpXeCgs8fgI+Enz5aV2AH828JeZxtrbVPLVNq01M4K359N4vZc2xNuKxo15V+lE8Dyifq3kVoFosKVlnKLEZf4yi1mv1559l3yn/N+/NIILqzne/Bvmi8ChB9rzB3eKoiBzaTsd0rfgLb0ap1lCnUmkhQXEeAjmdZGkik3buYSfR4h5v6uXRNgYwhT527X603Id0gVCDJWntFHCAltDxlyXv1Zv5AxQiNzQ2Fd53iY0Kr1cAx6bBX/sZxHmqOluhQ54aTE22R+kfMyC5WLoY4dRGhRPM0CVA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ODVvUb8/A1qqPkqZu9yKtZIpIAy/SDXJ16edM9t6iRCp70Z4YsTdSE1MrzpGUazuraQn6hN2h/dAtob5KI0jepWNeGvS9UJXmWdYxuUj1ihFLDoryXj/KKHkbLNRGNzfSyx45j84Qn4r12zgcooWbA+glFy4+gYhFj9NtVpSeUN16G9amay6gbLyqTL6E0CazQUayVxjSje3cHpYW2eAxmW7+TL9EDc7M5J34h21TNbSPyWcDaGTAj85lIiJhio8L1K8Wq5gPYYuRQZZxsevdu4TOE2P5FQXE9SF8LxbOZg8Sdj8OEnbVfu5uQD4eBz6GYETB8D/zC3j/vERd+a/hg==
- Cc: Xenia Ragiadakou <xenia.ragiadakou@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Jun Nakajima <jun.nakajima@xxxxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>
- Delivery-date: Mon, 24 Apr 2023 08:21:25 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
This patch series aims to make the msr intercept handling, performed in
vpmu code, virtualization technology agnostic.
It creates a common interface for setting/clearing the msr intercepts and
then add hooks to the corresponding hvm_funcs table to be able to call the
svm/vmx specific handlers through a generic hvm wrapper function.
Version 2 addresses the comments made on version 1 to ease further review.
Still there is a pending question made by Jan, whether there could be other,
than the vpmu one, use cases that would require msr intercept handling to be
performed outside of virtualization techonology-specific code, and whether
this abstraction is actually usefull to have.
Xenia Ragiadakou (3):
x86/svm: split svm_intercept_msr() into
svm_{set,clear}_msr_intercept()
x86/vmx: replace enum vmx_msr_intercept_type with the msr access flags
x86/hvm: create hvm_funcs for {svm,vmx}_{set,clear}_msr_intercept()
xen/arch/x86/cpu/vpmu_amd.c | 9 +--
xen/arch/x86/cpu/vpmu_intel.c | 24 ++++----
xen/arch/x86/hvm/svm/svm.c | 75 ++++++++++++++++---------
xen/arch/x86/hvm/vmx/vmcs.c | 40 ++++++-------
xen/arch/x86/hvm/vmx/vmx.c | 46 +++++++--------
xen/arch/x86/include/asm/hvm/hvm.h | 34 +++++++++++
xen/arch/x86/include/asm/hvm/svm/vmcb.h | 15 ++---
xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 16 ++----
8 files changed, 155 insertions(+), 104 deletions(-)
--
2.34.1
|