[PATCH 3/3] x86: Select advanced Intel code only if allowed

Simon Glass sjg at chromium.org
Tue Feb 23 11:35:42 CET 2021


At present most of the Intel-specific code is built on all devices, even
those which don't have software support for the features provided there.

This means that any board can enable CONFIG_INTEL_ACPIGEN even if it does
not have the required features.

Add a new INTEL_SOC option to control this access. This must be selected
by SoCs that can support the required features.

Reported-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
Signed-off-by: Simon Glass <sjg at chromium.org>
---

 arch/x86/Kconfig                | 15 +++++++++++++++
 arch/x86/cpu/apollolake/Kconfig |  1 +
 2 files changed, 16 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index c8ce2fcb88d..b4a86f8fa05 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1001,6 +1001,19 @@ config PCIEX_LENGTH_128MB
 config PCIEX_LENGTH_64MB
 	bool
 
+config INTEL_SOC
+	bool
+	help
+	  This is enabled on Intel SoCs that can support various advanced
+	  features such as power management (requiring asm/arch/pm.h), system
+	  agent (asm/arch/systemagent.h) and an I/O map for ACPI
+	  (asm/arch/iomap.h).
+
+	  This cannot be seleted in a defconfig file. It must be enabled by a
+	  'select' in the SoC's Kconfig.
+
+if INTEL_SOC
+
 config INTEL_ACPIGEN
 	bool "Support ACPI table generation for Intel SoCs"
 	depends on ACPIGEN
@@ -1032,4 +1045,6 @@ config INTEL_GMA_SWSMISCI
 	  Select this option for Atom-based platforms which use the SWSMISCI
 	  register (0xe0) rather than the SWSCI register (0xe8).
 
+endif # INTEL_SOC
+
 endmenu
diff --git a/arch/x86/cpu/apollolake/Kconfig b/arch/x86/cpu/apollolake/Kconfig
index f5dbd6cbd34..590fe31dc4b 100644
--- a/arch/x86/cpu/apollolake/Kconfig
+++ b/arch/x86/cpu/apollolake/Kconfig
@@ -9,6 +9,7 @@ config INTEL_APOLLOLAKE
 	select HAVE_FSP
 	select ARCH_MISC_INIT
 	select USE_CAR
+	select INTEL_SOC
 	select INTEL_PMC
 	select TPL_X86_TSC_TIMER_NATIVE
 	select SPL_PCH_SUPPORT
-- 
2.30.0.617.g56c4b15f3c-goog



More information about the U-Boot mailing list