[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/svm: Remove the asm/hvm/svm/asid.h header
commit 40840455ad8559444256d19bc0b8503c07776246 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Fri Feb 24 19:15:43 2023 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Feb 24 20:53:10 2023 +0000 x86/svm: Remove the asm/hvm/svm/asid.h header Fold svm_asid_g_invlpg() into its single caller, deleting the #if 0 which has been present for the entire 16 years this helper has existed: c/s 322a078ab140 "[HVM][SVM] Reintroduce ASIDs." Move the two remaining prototypes into the private svm.h, forward declaring cpuinfo_x86 in preference to including asm/processor.h No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> --- xen/arch/x86/hvm/svm/asid.c | 3 +- xen/arch/x86/hvm/svm/svm.c | 4 +-- xen/arch/x86/hvm/svm/svm.h | 4 +++ xen/arch/x86/include/asm/hvm/svm/asid.h | 49 --------------------------------- 4 files changed, 8 insertions(+), 52 deletions(-) diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c index ab06dd3f3a..150d8dfc81 100644 --- a/xen/arch/x86/hvm/svm/asid.c +++ b/xen/arch/x86/hvm/svm/asid.c @@ -17,9 +17,10 @@ #include <asm/amd.h> #include <asm/hvm/nestedhvm.h> -#include <asm/hvm/svm/asid.h> #include <asm/hvm/svm/svm.h> +#include "svm.h" + void svm_asid_init(const struct cpuinfo_x86 *c) { int nasids = 0; diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index 6d394e4fe3..46ae0b6602 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -37,7 +37,6 @@ #include <asm/hvm/monitor.h> #include <asm/hvm/nestedhvm.h> #include <asm/hvm/support.h> -#include <asm/hvm/svm/asid.h> #include <asm/hvm/svm/emulate.h> #include <asm/hvm/svm/nestedsvm.h> #include <asm/hvm/svm/svm.h> @@ -2421,7 +2420,8 @@ static bool cf_check is_invlpg( static void cf_check svm_invlpg(struct vcpu *v, unsigned long linear) { - svm_asid_g_invlpg(v, linear); + /* Safe fallback. Take a new ASID. */ + hvm_asid_flush_vcpu(v); } static bool cf_check svm_get_pending_event( diff --git a/xen/arch/x86/hvm/svm/svm.h b/xen/arch/x86/hvm/svm/svm.h index f700f26f90..b8178f6216 100644 --- a/xen/arch/x86/hvm/svm/svm.h +++ b/xen/arch/x86/hvm/svm/svm.h @@ -12,6 +12,10 @@ #include <xen/types.h> struct cpu_user_regs; +struct cpuinfo_x86; + +void svm_asid_init(const struct cpuinfo_x86 *c); +void svm_asid_handle_vmrun(void); unsigned long *svm_msrbit(unsigned long *msr_bitmap, uint32_t msr); void __update_guest_eip(struct cpu_user_regs *regs, unsigned int inst_len); diff --git a/xen/arch/x86/include/asm/hvm/svm/asid.h b/xen/arch/x86/include/asm/hvm/svm/asid.h deleted file mode 100644 index 0e5ec3ab78..0000000000 --- a/xen/arch/x86/include/asm/hvm/svm/asid.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * asid.h: handling ASIDs in SVM. - * Copyright (c) 2007, Advanced Micro Devices, Inc. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef __ASM_X86_HVM_SVM_ASID_H__ -#define __ASM_X86_HVM_SVM_ASID_H__ - -#include <xen/types.h> -#include <asm/hvm/asid.h> -#include <asm/processor.h> - -void svm_asid_init(const struct cpuinfo_x86 *c); -void svm_asid_handle_vmrun(void); - -static inline void svm_asid_g_invlpg(struct vcpu *v, unsigned long g_linear) -{ -#if 0 - /* Optimization? */ - svm_invlpga(g_linear, v->arch.hvm.svm.vmcb->guest_asid); -#endif - - /* Safe fallback. Take a new ASID. */ - hvm_asid_flush_vcpu(v); -} - -#endif /* __ASM_X86_HVM_SVM_ASID_H__ */ - -/* - * Local variables: - * mode: C - * c-file-style: "BSD" - * c-basic-offset: 4 - * tab-width: 4 - * indent-tabs-mode: nil - * End: - */ -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |