x86/entry: Add fred_entry_from_kvm() for VMX to handle IRQ/NMI
authorXin Li <xin3.li@intel.com>
Tue, 5 Dec 2023 10:50:20 +0000 (02:50 -0800)
committerBorislav Petkov (AMD) <bp@alien8.de>
Wed, 31 Jan 2024 21:03:16 +0000 (22:03 +0100)
commit2e670358ec1829238c99fbff178e285d3eb43ef1
tree23bb9894cd59296e66a6a8d99e945d3e7860803b
parent2333f3c473c1562633cd17ac2eb743c29c3b2d9d
x86/entry: Add fred_entry_from_kvm() for VMX to handle IRQ/NMI

In IRQ/NMI induced VM exits, KVM VMX needs to execute the respective
handlers, which requires the software to create a FRED stack frame,
and use it to invoke the handlers. Add fred_irq_entry_from_kvm() for
this job.

Export fred_entry_from_kvm() because VMX can be compiled as a module.

Suggested-by: Sean Christopherson <seanjc@google.com>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Shan Kang <shan.kang@intel.com>
Link: https://lore.kernel.org/r/20231205105030.8698-32-xin3.li@intel.com
arch/x86/entry/entry_64_fred.S
arch/x86/entry/entry_fred.c
arch/x86/include/asm/fred.h