Re: [PATCH v2 1/3] KVM: SVM: Refactor AVIC hardware setup logic into helper function

From: Suthikulpanit, Suravee
Date: Tue Dec 07 2021 - 08:01:23 EST


Hi Maxim,

On 12/3/2021 2:39 PM, Maxim Levitsky wrote:
On Thu, 2021-12-02 at 17:58 -0600, Suravee Suthikulpanit wrote:
To prepare for upcoming AVIC changes. There is no functional change.

Signed-off-by: Suravee Suthikulpanit<suravee.suthikulpanit@xxxxxxx>
---
arch/x86/kvm/svm/avic.c | 10 ++++++++++
arch/x86/kvm/svm/svm.c | 8 +-------
arch/x86/kvm/svm/svm.h | 1 +
3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c
index 8052d92069e0..6aca1682f4b7 100644
--- a/arch/x86/kvm/svm/avic.c
+++ b/arch/x86/kvm/svm/avic.c
@@ -1011,3 +1011,13 @@ void svm_vcpu_unblocking(struct kvm_vcpu *vcpu)
kvm_vcpu_update_apicv(vcpu);
avic_set_running(vcpu, true);
}
+
+bool avic_hardware_setup(bool avic, bool npt)
+{
+ if (!avic || !npt || !boot_cpu_has(X86_FEATURE_AVIC))
+ return false;

Nitpick: Why to pass these as local variables? npt_enabled for example is
used in many places directly.

Good point. I didn't see that it's already declared as extern in the svm.h. I'll update this in V3.

Thanks,
Suravee