]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
x86: KVM: SVM: add support for Invalid IPI Vector interception
authorMaxim Levitsky <mlevitsk@redhat.com>
Thu, 28 Sep 2023 17:33:52 +0000 (20:33 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Oct 2023 10:03:04 +0000 (12:03 +0200)
commit54f030271d6b81996e5cb1059fd846f6a0af4bb8
tree2559fc7737e80500c73291f7dc9578ace320896b
parent482565df3508f6e246996caa3947373ab1d1369b
x86: KVM: SVM: add support for Invalid IPI Vector interception

commit 2dcf37abf9d3aab7f975002d29fc7c17272def38 upstream.

In later revisions of AMD's APM, there is a new 'incomplete IPI' exit code:

"Invalid IPI Vector - The vector for the specified IPI was set to an
illegal value (VEC < 16)"

Note that tests on Zen2 machine show that this VM exit doesn't happen and
instead AVIC just does nothing.

Add support for this exit code by doing nothing, instead of filling
the kernel log with errors.

Also replace an unthrottled 'pr_err()' if another unknown incomplete
IPI exit happens with vcpu_unimpl()

(e.g in case AMD adds yet another 'Invalid IPI' exit reason)

Cc: <stable@vger.kernel.org>
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20230928173354.217464-3-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/svm.h
arch/x86/kvm/svm/avic.c