[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e5e1fb2715a98f24ba69cc4da5c30777633f6f62.camel@gmail.com>
Date: Sat, 31 May 2025 20:01:18 +0200
From: Francesco Lavra <francescolavra.fl@...il.com>
To: seanjc@...gle.com
Cc: bp@...en8.de, chao.gao@...el.com, dapeng1.mi@...ux.intel.com,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org, pbonzini@...hat.com,
xin@...or.com
Subject: Re: [PATCH 17/28] KVM: SVM: Manually recalc all MSR intercepts on
userspace MSR filter change
On 2025-05-29 at 23:40, Sean Christopherson wrote:
> @@ -81,70 +79,6 @@ static uint64_t osvw_len = 4, osvw_status;
>
> static DEFINE_PER_CPU(u64, current_tsc_ratio);
>
> -static const u32 direct_access_msrs[] = {
> - MSR_STAR,
> - MSR_IA32_SYSENTER_CS,
> - MSR_IA32_SYSENTER_EIP,
> - MSR_IA32_SYSENTER_ESP,
> -#ifdef CONFIG_X86_64
> - MSR_GS_BASE,
> - MSR_FS_BASE,
> - MSR_KERNEL_GS_BASE,
> - MSR_LSTAR,
> - MSR_CSTAR,
> - MSR_SYSCALL_MASK,
> -#endif
> - MSR_IA32_SPEC_CTRL,
> - MSR_IA32_PRED_CMD,
> - MSR_IA32_FLUSH_CMD,
> - MSR_IA32_DEBUGCTLMSR,
> - MSR_IA32_LASTBRANCHFROMIP,
> - MSR_IA32_LASTBRANCHTOIP,
> - MSR_IA32_LASTINTFROMIP,
> - MSR_IA32_LASTINTTOIP,
> - MSR_IA32_XSS,
> - MSR_EFER,
> - MSR_IA32_CR_PAT,
> - MSR_AMD64_SEV_ES_GHCB,
> - MSR_TSC_AUX,
> - X2APIC_MSR(APIC_ID),
> - X2APIC_MSR(APIC_LVR),
> - X2APIC_MSR(APIC_TASKPRI),
> - X2APIC_MSR(APIC_ARBPRI),
> - X2APIC_MSR(APIC_PROCPRI),
> - X2APIC_MSR(APIC_EOI),
> - X2APIC_MSR(APIC_RRR),
> - X2APIC_MSR(APIC_LDR),
> - X2APIC_MSR(APIC_DFR),
> - X2APIC_MSR(APIC_SPIV),
> - X2APIC_MSR(APIC_ISR),
> - X2APIC_MSR(APIC_TMR),
> - X2APIC_MSR(APIC_IRR),
> - X2APIC_MSR(APIC_ESR),
> - X2APIC_MSR(APIC_ICR),
> - X2APIC_MSR(APIC_ICR2),
> -
> - /*
> - * Note:
> - * AMD does not virtualize APIC TSC-deadline timer mode, but it
> is
> - * emulated by KVM. When setting APIC LVTT (0x832) register bit
> 18,
> - * the AVIC hardware would generate GP fault. Therefore, always
> - * intercept the MSR 0x832, and do not setup direct_access_msr.
> - */
> - X2APIC_MSR(APIC_LVTTHMR),
> - X2APIC_MSR(APIC_LVTPC),
> - X2APIC_MSR(APIC_LVT0),
> - X2APIC_MSR(APIC_LVT1),
> - X2APIC_MSR(APIC_LVTERR),
> - X2APIC_MSR(APIC_TMICT),
> - X2APIC_MSR(APIC_TMCCT),
> - X2APIC_MSR(APIC_TDCR),
> -};
> -
> -static_assert(ARRAY_SIZE(direct_access_msrs) ==
> - MAX_DIRECT_ACCESS_MSRS - 6 * !IS_ENABLED(CONFIG_X86_64));
> -#undef MAX_DIRECT_ACCESS_MSRS
The MAX_DIRECT_ACCESS_MSRS define should now be removed from
arch/x86/kvm/svm/svm.harch/x86/kvm/svm/svm.h, since it's no longer used.
Powered by blists - more mailing lists