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

From: Suravee Suthikulpanit
Date: Wed Jun 01 2016 - 00:17:23 EST


Sorry for late response on this.

On 5/10/16 09:50, Paolo Bonzini wrote:

On 10/05/2016 11:19, Borislav Petkov 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 ..."


The ability to request a vmexit as soon as an interrupt can be injected
(IF=GIF=1, no interrupt window, etc.). It's called the "VINTR intercept".

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

More important, where does the APM document that VINTR is not supported
when AVIC is enabled? It is certainly pointless and inefficient, but
I'm not sure where it says that it doesn't work.


Basically, from the APM vol2 here:

On page 115, section AVIC EnableâVirtual Interrupt Control, Bit 31:

"... Enabling AVIC implicitly disables the V_IRQ, V_INTR_PRIO,
V_IGN_TPR, and V_INTR_VECTOR fields in the VMCB Control Word."