[patch V2 00/58] x86/apic: Decrapification and static calls

From: Thomas Gleixner
Date: Mon Jul 24 2023 - 09:33:59 EST


Hi!

This is the follow up to:

https://lore.kernel.org/lkml/20230717223049.327865981@xxxxxxxxxxxxx

which addresses the review feedback and some minor 0day-robot fallout.

TLDR: This cleans up accrued and partially unused gunk in order to convert
the APIC callbacks to static calls.

The changes vs. V1:

- Fixed the minor fallout reported by Michael and Peter

- Mopped up XEN/PV even more - Juergen

- Fixed up a place which still wrote into mp_lapic_addr directly in
mpparse

- Addressed 0day fallout on 32bit with KVM guest enabled and local APIC
disabled. Sigh!

The series is also available from git:

git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git apic-static-call-v2

Thanks,

tglx
---
hyperv/hv_apic.c | 26 +-
hyperv/hv_init.c | 2
hyperv/hv_spinlock.c | 2
hyperv/hv_vtl.c | 2
include/asm/apic.h | 239 +++++++++++++---------
include/asm/io_apic.h | 7
include/asm/mpspec.h | 31 --
include/asm/processor.h | 1
include/asm/smp.h | 11 -
kernel/acpi/boot.c | 12 -
kernel/apic/Makefile | 2
kernel/apic/apic.c | 454 +++++++++++++------------------------------
kernel/apic/apic_common.c | 21 +
kernel/apic/apic_flat_64.c | 80 +------
kernel/apic/apic_noop.c | 91 +-------
kernel/apic/apic_numachip.c | 50 ----
kernel/apic/bigsmp_32.c | 89 +-------
kernel/apic/hw_nmi.c | 4
kernel/apic/init.c | 110 ++++++++++
kernel/apic/io_apic.c | 30 +-
kernel/apic/ipi.c | 176 +++++++---------
kernel/apic/local.h | 30 ++
kernel/apic/msi.c | 2
kernel/apic/probe_32.c | 117 ++---------
kernel/apic/probe_64.c | 18 -
kernel/apic/vector.c | 16 -
kernel/apic/x2apic_cluster.c | 23 --
kernel/apic/x2apic_phys.c | 74 ++-----
kernel/apic/x2apic_uv_x.c | 51 ----
kernel/cpu/acrn.c | 2
kernel/cpu/amd.c | 2
kernel/cpu/common.c | 2
kernel/cpu/hygon.c | 3
kernel/cpu/mce/amd.c | 2
kernel/cpu/mce/inject.c | 3
kernel/cpu/mce/threshold.c | 2
kernel/cpu/mshyperv.c | 4
kernel/devicetree.c | 21 -
kernel/irq.c | 14 -
kernel/irq_work.c | 4
kernel/jailhouse.c | 6
kernel/kvm.c | 14 -
kernel/mpparse.c | 17 -
kernel/nmi_selftest.c | 2
kernel/setup.c | 7
kernel/setup_percpu.c | 10
kernel/sev.c | 4
kernel/smp.c | 10
kernel/smpboot.c | 115 ----------
kernel/vsmp_64.c | 2
kvm/vmx/posted_intr.c | 2
kvm/vmx/vmx.c | 2
mm/srat.c | 5
pci/xen.c | 2
platform/uv/uv_nmi.c | 2
xen/apic.c | 78 ++-----
xen/enlighten_hvm.c | 2
xen/smp_pv.c | 2
58 files changed, 753 insertions(+), 1359 deletions(-)