[tip: x86/apic] x86/apic: Wrap apic->native_eoi() into a helper

From: tip-bot2 for Thomas Gleixner
Date: Wed Aug 09 2023 - 16:36:33 EST


The following commit has been merged into the x86/apic branch of tip:

Commit-ID: 0fa075769cd4af9c568044973e7bdf430cc7c158
Gitweb: https://git.kernel.org/tip/0fa075769cd4af9c568044973e7bdf430cc7c158
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Tue, 08 Aug 2023 15:04:17 -07:00
Committer: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
CommitterDate: Wed, 09 Aug 2023 11:58:34 -07:00

x86/apic: Wrap apic->native_eoi() into a helper

Prepare for converting the hotpath APIC callbacks to static calls.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Tested-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
Tested-by: Sohil Mehta <sohil.mehta@xxxxxxxxx>
Tested-by: Juergen Gross <jgross@xxxxxxxx> # Xen PV (dom0 and unpriv. guest)
---
arch/x86/include/asm/apic.h | 6 ++++++
arch/x86/kernel/kvm.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 6ad3574..5d98c4b 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -359,6 +359,11 @@ static inline void apic_eoi(void)
apic->eoi();
}

+static inline void apic_native_eoi(void)
+{
+ apic->native_eoi();
+}
+
static inline u64 apic_icr_read(void)
{
return apic->icr_read();
@@ -397,6 +402,7 @@ static inline void apic_icr_write(u32 low, u32 high) { }
static inline void apic_wait_icr_idle(void) { }
static inline u32 safe_apic_wait_icr_idle(void) { return 0; }
static inline void apic_set_eoi_cb(void (*eoi)(void)) {}
+static inline void apic_native_eoi(void) { WARN_ON_ONCE(1); }

#endif /* CONFIG_X86_LOCAL_APIC */

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index f5339e3..54625a4 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -343,7 +343,7 @@ static notrace void kvm_guest_apic_eoi_write(void)
*/
if (__test_and_clear_bit(KVM_PV_EOI_BIT, this_cpu_ptr(&kvm_apic_eoi)))
return;
- apic->native_eoi();
+ apic_native_eoi();
}

static void kvm_guest_cpu_init(void)