[U-Boot] [PATCH] x86: make X86IRQ per Kconfig switchable
Hannes Schmelzer
oe5hpm at oevsv.at
Mon Oct 22 21:12:01 UTC 2018
This commit creates the freedom for boards to do nothing with the whole
IRQ stuff on x86 during u-boot.
This is especially important on older systems which have many legacy irq
and no ACPI support within BIOS, they get in trouble if, for example,
u-boot does mask all the interrupts on a PIC.
Signed-off-by: Hannes Schmelzer <oe5hpm at oevsv.at>
---
arch/x86/Kconfig | 8 ++++++++
arch/x86/lib/Makefile | 2 +-
include/_exports.h | 2 +-
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 00b69c6..d2b691f 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -736,6 +736,14 @@ config I8259_PIC
slave) interrupt controllers. Include this to have U-Boot set up
the interrupt correctly.
+config X86IRQ
+ bool
+ default y
+ help
+ Provide basic IRQ initialization with dummy handlers and spurious IRQ
+ catching. Provide also some exported high-level API for standalone
+ applications (see doc/README.standalone).
+
config APIC
bool
default y
diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index 1e8efcc..57cb87d 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -16,7 +16,7 @@ obj-$(CONFIG_SEABIOS) += coreboot_table.o
obj-y += early_cmos.o
obj-y += e820.o
obj-y += init_helpers.o
-obj-y += interrupts.o
+obj-$(CONFIG_X86IRQ) += interrupts.o
obj-y += lpc-uclass.o
obj-y += mpspec.o
obj-$(CONFIG_ENABLE_MRC_CACHE) += mrccache.o
diff --git a/include/_exports.h b/include/_exports.h
index 5416041..39e3e32 100644
--- a/include/_exports.h
+++ b/include/_exports.h
@@ -13,7 +13,7 @@
EXPORT_FUNC(putc, void, putc, const char)
EXPORT_FUNC(puts, void, puts, const char *)
EXPORT_FUNC(printf, int, printf, const char*, ...)
-#if (defined(CONFIG_X86) && !defined(CONFIG_X86_64)) || defined(CONFIG_PPC)
+#if (defined(CONFIG_X86IRQ) && !defined(CONFIG_X86_64)) || defined(CONFIG_PPC)
EXPORT_FUNC(irq_install_handler, void, install_hdlr,
int, interrupt_handler_t, void*)
--
2.7.4
More information about the U-Boot
mailing list