Re: [PART1 V5 08/13] svm: Add interrupt injection via AVIC

From: Borislav Petkov
Date: Tue May 10 2016 - 05:20:27 EST


On Wed, May 04, 2016 at 02:09:47PM -0500, Suravee Suthikulpanit wrote:
> This patch introduces a new mechanism to inject interrupt using AVIC.
> Since VINTR is not supported when enable AVIC, we need to inject

"... is not supported when AVIC is enabled ..."

VINTR?

Please write those things out in the commit message for maximum
information transfer to the reader. :)

> interrupt via APIC backing page instead.
>
> This patch also adds support for AVIC doorbell, which is used by
> KVM to signal a running vcpu to check IRR for injected interrupts.
>
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> ---
> arch/x86/kvm/svm.c | 39 +++++++++++++++++++++++++++++++++++----
> 1 file changed, 35 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
> index 4b00dc6..3a97874 100644
> --- a/arch/x86/kvm/svm.c
> +++ b/arch/x86/kvm/svm.c
> @@ -71,6 +71,8 @@ MODULE_DEVICE_TABLE(x86cpu, svm_cpu_id);
> #define SVM_FEATURE_DECODE_ASSIST (1 << 7)
> #define SVM_FEATURE_PAUSE_FILTER (1 << 10)
>
> +#define SVM_AVIC_DOORBELL 0xc001011b

MSR_SVM_AVIC_DOORBELL

> +
> #define NESTED_EXIT_HOST 0 /* Exit handled on host level */
> #define NESTED_EXIT_DONE 1 /* Exit caused nested vmexit */
> #define NESTED_EXIT_CONTINUE 2 /* Further checks needed */

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.