[v2,34/49] x86: Drop CONFIG_BUILD_ROM and repurpose BUILD_ROM

Message ID 20200613205717.v2.34.Ice44cd6072fa2ca8287975a4d30c5932e4527787@changeid
State Accepted
Commit 3be8ba5ea54c8fdb25690cb427a98040da854045
Headers show
Series
  • rockchip: x86: Support building ROM files automatically with binman
Related show

Commit Message

Simon Glass June 14, 2020, 2:57 a.m.
This Kconfig is not needed anymore since U-Boot will build the ROM if the
required binary blobs exist.

The BUILD_ROM environment variable used to request that the ROM be built.
Now this always happens if the required binary blobs are available. Update
it to mean that U-Boot should fail if the ROM cannot be built. This
behaviour should be compatible with how it used to work.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

(no changes since v1)

 Kconfig                       | 7 +++++--
 Makefile                      | 3 ++-
 configs/qemu-x86_64_defconfig | 1 -
 configs/qemu-x86_defconfig    | 1 -
 4 files changed, 7 insertions(+), 5 deletions(-)

Comments

Bin Meng June 29, 2020, 7:44 a.m. | #1
On Sun, Jun 14, 2020 at 10:58 AM Simon Glass <sjg at chromium.org> wrote:
>
> This Kconfig is not needed anymore since U-Boot will build the ROM if the
> required binary blobs exist.
>
> The BUILD_ROM environment variable used to request that the ROM be built.
> Now this always happens if the required binary blobs are available. Update
> it to mean that U-Boot should fail if the ROM cannot be built. This
> behaviour should be compatible with how it used to work.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> (no changes since v1)
>
>  Kconfig                       | 7 +++++--
>  Makefile                      | 3 ++-
>  configs/qemu-x86_64_defconfig | 1 -
>  configs/qemu-x86_defconfig    | 1 -
>  4 files changed, 7 insertions(+), 5 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>

Patch

diff --git a/Kconfig b/Kconfig
index 876c5db911..352b2d4584 100644
--- a/Kconfig
+++ b/Kconfig
@@ -252,8 +252,11 @@  config ROM_NEEDS_BLOBS
 	depends on HAS_ROM
 	help
 	  Enable this if building the u-boot.rom target needs binary blobs, and
-	  so cannot be done normally. In this case, pass BUILD_ROM=1 to make
-	  to tell U-Boot to build the ROM.
+	  so cannot be done normally. In this case, U-Boot will only build the
+	  ROM if the required blobs exist. If not, you will see an warning like:
+
+	    Image 'main-section' is missing external blobs and is non-functional:
+	      intel-descriptor intel-me intel-refcode intel-vga intel-mrc
 
 config BUILD_ROM
 	bool "Build U-Boot as BIOS replacement"
diff --git a/Makefile b/Makefile
index 9c15dced7d..e4fed83cb2 100644
--- a/Makefile
+++ b/Makefile
@@ -1307,7 +1307,8 @@  quiet_cmd_binman = BINMAN  $@
 cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
                 --toolpath $(objtree)/tools \
 		$(if $(BINMAN_VERBOSE),-v$(BINMAN_VERBOSE)) \
-		build -u -d u-boot.dtb -O . -m --allow-missing \
+		build -u -d u-boot.dtb -O . \
+		$(if $(BUILD_ROM),,-m --allow-missing) \
 		-I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \
 		$(BINMAN_$(@F))
 
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 90d287b7b0..1a03a96223 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -16,7 +16,6 @@  CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
 CONFIG_X86_OFFSET_U_BOOT=0xfff00000
 CONFIG_DISTRO_DEFAULTS=y
-CONFIG_BUILD_ROM=y
 CONFIG_FIT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_BOOTSTAGE=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 4309c2352d..f0e8e7d967 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -8,7 +8,6 @@  CONFIG_GENERATE_PIRQ_TABLE=y
 CONFIG_GENERATE_MP_TABLE=y
 CONFIG_GENERATE_ACPI_TABLE=y
 CONFIG_DISTRO_DEFAULTS=y
-CONFIG_BUILD_ROM=y
 CONFIG_FIT=y
 CONFIG_BOOTSTAGE=y
 CONFIG_BOOTSTAGE_REPORT=y