x86: make the LAPIC / IOAPIC construct switchable with Kconfig
There are still systems running which do not have any LAPIC or even IOAPIC. Responsible MSRs for those do not exist and the systems are crashing on trying to setup LAPIC. This commit makes the APIC stuff able to switch off for those boards which dont' have an LAPIC / IOAPIC. Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
73af0601e1
commit
da4cfa6b44
@ -736,6 +736,15 @@ config I8259_PIC
|
||||
slave) interrupt controllers. Include this to have U-Boot set up
|
||||
the interrupt correctly.
|
||||
|
||||
config APIC
|
||||
bool
|
||||
default y
|
||||
help
|
||||
The (A)dvanced (P)rogrammable (I)nterrupt (C)ontroller is responsible
|
||||
for catching interrupts and distributing them to one or more CPU
|
||||
cores. In most cases there are some LAPICs (local) for each core and
|
||||
one I/O APIC. This conjunction is found on most modern x86 systems.
|
||||
|
||||
config PINCTRL_ICH6
|
||||
bool
|
||||
help
|
||||
|
@ -35,7 +35,7 @@ obj-$(CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE) += ivybridge/
|
||||
obj-$(CONFIG_INTEL_QUARK) += quark/
|
||||
obj-$(CONFIG_INTEL_QUEENSBAY) += queensbay/
|
||||
obj-$(CONFIG_INTEL_TANGIER) += tangier/
|
||||
obj-y += lapic.o ioapic.o
|
||||
obj-$(CONFIG_APIC) += lapic.o ioapic.o
|
||||
obj-y += irq.o
|
||||
ifndef CONFIG_$(SPL_)X86_64
|
||||
obj-$(CONFIG_SMP) += mp_init.o
|
||||
|
@ -264,7 +264,9 @@ int interrupt_init(void)
|
||||
i8259_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_APIC
|
||||
lapic_setup();
|
||||
#endif
|
||||
|
||||
/* Initialize core interrupt and exception functionality of CPU */
|
||||
cpu_init_interrupts();
|
||||
|
Loading…
Reference in New Issue
Block a user