Messages in this thread |  | | Subject | Re: [PATCH v2 0/2] KVM: VMX: Clean up IRQ/NMI handling | From | Paolo Bonzini <> | Date | Tue, 22 Sep 2020 15:38:24 +0200 |
| |
On 15/09/20 21:15, Sean Christopherson wrote: > Clean up KVM's handling of IRQ and NMI exits to move the invocation of the > IRQ handler to a standalone assembly routine, and to then consolidate the > NMI handling to use the same indirect call approach instead of using INTn. > > The IRQ cleanup was suggested by Josh Poimboeuf in the context of a false > postive objtool warning[*]. I believe Josh intended to use UNWIND hints > instead of trickery to avoid objtool complaints. I opted for trickery in > the form of a redundant, but explicit, restoration of RSP after the hidden > IRET. AFAICT, there are no existing UNWIND hints that would let objtool > know that the stack is magically being restored, and adding a new hint to > save a single MOV <reg>, <reg> instruction seemed like overkill. > > The NMI consolidation was loosely suggested by Andi Kleen. Andi's actual > suggestion was to export and directly call the NMI handler, but that's a > more involved change (unless I'm misunderstanding the wants of the NMI > handler), whereas piggybacking the IRQ code is simple and seems like a > worthwhile intermediate step. > > Sean Christopherson (2): > KVM: VMX: Move IRQ invocation to assembly subroutine > KVM: VMX: Invoke NMI handler via indirect call instead of INTn > > arch/x86/kvm/vmx/vmenter.S | 34 +++++++++++++++++++++ > arch/x86/kvm/vmx/vmx.c | 61 +++++++++++--------------------------- > 2 files changed, 51 insertions(+), 44 deletions(-) >
Queued, thanks.
Paolo
|  |