diff mbox series

[U-Boot,v4,1/1] x86: provide CONFIG_BUILD_ROM

Message ID 20171016180838.6036-1-xypron.glpk@gmx.de
State Accepted
Commit 871aa41d4c9ecf8d89b98491dc86d0097fdf80e5
Delegated to: Bin Meng
Headers show
Series [U-Boot,v4,1/1] x86: provide CONFIG_BUILD_ROM | expand

Commit Message

Heinrich Schuchardt Oct. 16, 2017, 6:08 p.m. UTC
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>
---
v4
	Place BUILD_ROM in defconfig according to the sequence of
	the generated .config.
	Remove default=n
v3
	Rework the documentation. Simon suggested not to deprecate
	the export variable.
v2
	Enable CONFIG_BUILD_ROM for qemu-x86_64_defconfig
	as suggested by Bin.
	Fix typos.
---
 Kconfig                       |  9 +++++++++
 Makefile                      |  2 +-
 configs/qemu-x86_64_defconfig |  1 +
 configs/qemu-x86_defconfig    |  1 +
 doc/README.x86                | 10 +++++++---
 5 files changed, 19 insertions(+), 4 deletions(-)

Comments

Bin Meng Oct. 17, 2017, 8:52 a.m. UTC | #1
On Tue, Oct 17, 2017 at 2:08 AM, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> 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>
> ---
> v4
>         Place BUILD_ROM in defconfig according to the sequence of
>         the generated .config.
>         Remove default=n
> v3
>         Rework the documentation. Simon suggested not to deprecate
>         the export variable.
> v2
>         Enable CONFIG_BUILD_ROM for qemu-x86_64_defconfig
>         as suggested by Bin.
>         Fix typos.
> ---
>  Kconfig                       |  9 +++++++++
>  Makefile                      |  2 +-
>  configs/qemu-x86_64_defconfig |  1 +
>  configs/qemu-x86_defconfig    |  1 +
>  doc/README.x86                | 10 +++++++---
>  5 files changed, 19 insertions(+), 4 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng Oct. 19, 2017, 3:37 a.m. UTC | #2
On Tue, Oct 17, 2017 at 4:52 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Tue, Oct 17, 2017 at 2:08 AM, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
>> 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>
>> ---
>> v4
>>         Place BUILD_ROM in defconfig according to the sequence of
>>         the generated .config.
>>         Remove default=n
>> v3
>>         Rework the documentation. Simon suggested not to deprecate
>>         the export variable.
>> v2
>>         Enable CONFIG_BUILD_ROM for qemu-x86_64_defconfig
>>         as suggested by Bin.
>>         Fix typos.
>> ---
>>  Kconfig                       |  9 +++++++++
>>  Makefile                      |  2 +-
>>  configs/qemu-x86_64_defconfig |  1 +
>>  configs/qemu-x86_defconfig    |  1 +
>>  doc/README.x86                | 10 +++++++---
>>  5 files changed, 19 insertions(+), 4 deletions(-)
>>
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

applied to u-boot-x86, thanks!
diff mbox series

Patch

diff --git a/Kconfig b/Kconfig
index d951e9f804..d90102fc03 100644
--- 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"
diff --git a/Makefile b/Makefile
index 888486b296..f26ab77f6a 100644
--- 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
 
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 071dca6eee..1c211f7943 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -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
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index cdbc5c4a6e..54f7fe0c9b 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -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
diff --git a/doc/README.x86 b/doc/README.x86
index c96a22cb08..1e3af5af90 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -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.
 
 ---