Merge tag 'x86-apic-2022-12-10' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Dec 2022 20:30:31 +0000 (12:30 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 12 Dec 2022 20:30:31 +0000 (12:30 -0800)
Pull x86 apic update from Thomas Gleixner:
 "A set of changes for the x86 APIC code:

   - Handle the case where x2APIC is enabled and locked by the BIOS on a
     kernel with CONFIG_X86_X2APIC=n gracefully.

     Instead of a panic which does not make it to the graphical console
     during very early boot, simply disable the local APIC completely
     and boot with the PIC and very limited functionality, which allows
     to diagnose the issue

   - Convert x86 APIC device tree bindings to YAML

   - Extend x86 APIC device tree bindings to configure interrupt
     delivery mode and handle this in during init. This allows to boot
     with device tree on platforms which lack a legacy PIC"

* tag 'x86-apic-2022-12-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/of: Add support for boot time interrupt delivery mode configuration
  x86/of: Replace printk(KERN_LVL) with pr_lvl()
  dt-bindings: x86: apic: Introduce new optional bool property for lapic
  dt-bindings: x86: apic: Convert Intel's APIC bindings to YAML schema
  x86/of: Remove unused early_init_dt_add_memory_arch()
  x86/apic: Handle no CONFIG_X86_X2APIC on systems with x2APIC enabled by BIOS

1  2 
arch/x86/Kconfig

diff --combined arch/x86/Kconfig
@@@ -81,7 -81,6 +81,7 @@@ config X8
        select ARCH_HAS_KCOV                    if X86_64
        select ARCH_HAS_MEM_ENCRYPT
        select ARCH_HAS_MEMBARRIER_SYNC_CORE
 +      select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS
        select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
        select ARCH_HAS_PMEM_API                if X86_64
        select ARCH_HAS_PTE_DEVMAP              if X86_64
@@@ -463,8 -462,8 +463,8 @@@ config X86_X2API
  
          Some Intel systems circa 2022 and later are locked into x2APIC mode
          and can not fall back to the legacy APIC modes if SGX or TDX are
-         enabled in the BIOS.  They will be unable to boot without enabling
-         this option.
+         enabled in the BIOS. They will boot with very reduced functionality
+         without enabling this option.
  
          If you don't know what to do here, say N.
  
@@@ -1110,6 -1109,7 +1110,6 @@@ config X86_LOCAL_API
        def_bool y
        depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC || PCI_MSI
        select IRQ_DOMAIN_HIERARCHY
 -      select PCI_MSI_IRQ_DOMAIN if PCI_MSI
  
  config X86_IO_APIC
        def_bool y