[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