]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
x86/apic: Construct a selector for the interrupt delivery mode
authorDou Liyang <douly.fnst@cn.fujitsu.com>
Wed, 13 Sep 2017 09:12:44 +0000 (17:12 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 25 Sep 2017 13:03:14 +0000 (15:03 +0200)
commit0114a8e87772c4172bf7fefa4c7a9a6bbc52d2ab
treee05059a1f98bc6228e2f8643381b64a1c71fc992
parente19b205be43d11bff638cad4487008c48d21c103
x86/apic: Construct a selector for the interrupt delivery mode

There are quite some switches which are used to determine the final
interrupt delivery mode, as shown below:

1) Kconfig: CONFIG_X86_64; CONFIG_X86_LOCAL_APIC; CONFIG_x86_IO_APIC
2) Command line options: disable_apic; skip_ioapic_setup
3) CPU Capability: boot_cpu_has(X86_FEATURE_APIC)
4) MP table: smp_found_config
5) ACPI: acpi_lapic; acpi_ioapic; nr_ioapic

These switches are disordered and scattered and there are also some
dependencies between them. These make the code difficult to maintain and
read.

Construct a selector to unify them into a single function, then, Use this
selector to get an interrupt delivery mode directly.

Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: yinghai@kernel.org
Cc: bhe@redhat.com
Link: https://lkml.kernel.org/r/1505293975-26005-2-git-send-email-douly.fnst@cn.fujitsu.com
arch/x86/kernel/apic/apic.c