x86: provide CONFIG_BUILD_ROM
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 16 Oct 2017 18:08:38 +0000 (18:08 +0000)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 19 Oct 2017 03:37:51 +0000 (11:37 +0800)
Up to now we depended on an exported variable to build u-boot.rom.
We should be able to specify it in the configuration file, too.

With this patch this becomes possible using the new Kconfig option
CONFIG_BUILD_ROM.

This option depends on CONFIG_X86 and is selected in
qemu-x86_defconfig and qemu-x86_64_defconfig.

Cc: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Kconfig
Makefile
configs/qemu-x86_64_defconfig
configs/qemu-x86_defconfig
doc/README.x86

diff --git a/Kconfig b/Kconfig
index 73f820a6de51cd3d47c531b960f25f28c71d8436..227fb17dd996fb3bde57a1c6ad45652fc572c1cb 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -158,6 +158,15 @@ config PHYS_64BIT
          This can be used not only for 64bit SoCs, but also for
          large physical address extention on 32bit SoCs.
 
+config BUILD_ROM
+       bool "Build U-Boot as BIOS replacement"
+       depends on X86
+       help
+         This option allows to build a ROM version of U-Boot.
+         The build process generally requires several binary blobs
+         which are not shipped in the U-Boot source tree.
+         Please, see doc/README.x86 for details.
+
 endmenu                # General setup
 
 menu "Boot images"
index d074358e2478f8420815c3e490dfbfb54a84efe2..79150bb0178617b22fd98443c0698501cd5bc1b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -796,7 +796,7 @@ ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf
 ALL-$(CONFIG_EFI_APP) += u-boot-app.efi
 ALL-$(CONFIG_EFI_STUB) += u-boot-payload.efi
 
-ifneq ($(BUILD_ROM),)
+ifneq ($(BUILD_ROM)$(CONFIG_BUILD_ROM),)
 ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
 endif
 
index fae4a9ca54841313beb703e027bea6f975abf46f..0cea3694d0dd315875dd2bcb994fdb53c559d4a6 100644 (file)
@@ -14,6 +14,7 @@ CONFIG_SMP=y
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_BUILD_ROM=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_BOOTSTAGE=y
index ffdb4c34c1bb0f825b840c256dfbe2b3e8904366..bf7fbc723d179599e7422d831919d42a4ceefbac 100644 (file)
@@ -5,6 +5,7 @@ CONFIG_SMP=y
 CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
+CONFIG_BUILD_ROM=y
 CONFIG_FIT=y
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y
index 92f41283be91fab8fa99ef0477c7b28730699658..772e8d2a8693b0d8f87277e47a30d95488fe590c 100644 (file)
@@ -80,11 +80,15 @@ Building a ROM version of U-Boot (hereafter referred to as u-boot.rom) is a
 little bit tricky, as generally it requires several binary blobs which are not
 shipped in the U-Boot source tree. Due to this reason, the u-boot.rom build is
 not turned on by default in the U-Boot source tree. Firstly, you need turn it
-on by enabling the ROM build:
+on by enabling the ROM build either via an environment variable
 
-$ export BUILD_ROM=y
+    $ export BUILD_ROM=y
 
-This tells the Makefile to build u-boot.rom as a target.
+or via configuration
+
+    CONFIG_BUILD_ROM=y
+
+Both tell the Makefile to build u-boot.rom as a target.
 
 ---