diff mbox

[U-Boot,v2,07/22] x86: Add an option to enabling building a ROM file

Message ID 1422422027-29599-8-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Jan. 28, 2015, 5:13 a.m. UTC
Rather than requiring the Makefile to be modified, provide a build option to
enable the ROM to be built.

We cannot do this by default since it requires binary blobs. Without these
the build will fail.

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

Changes in v2:
- Fix README typos

 Makefile       |  5 +++--
 doc/README.x86 | 10 ++++++----
 2 files changed, 9 insertions(+), 6 deletions(-)

Comments

Bin Meng Jan. 28, 2015, 5:32 a.m. UTC | #1
On Wed, Jan 28, 2015 at 1:13 PM, Simon Glass <sjg@chromium.org> wrote:
> Rather than requiring the Makefile to be modified, provide a build option to
> enable the ROM to be built.
>
> We cannot do this by default since it requires binary blobs. Without these
> the build will fail.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v2:
> - Fix README typos
>
>  Makefile       |  5 +++--
>  doc/README.x86 | 10 ++++++----
>  2 files changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index a876f1f..c6e4ad1 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -729,8 +729,9 @@ ALL-$(CONFIG_SPL) += $(CONFIG_SPL_TARGET:"%"=%)
>  endif
>  ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf
>
> -# We can't do this yet due to the need for binary blobs
> -# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
> +ifneq ($(BUILD_ROM),)
> +ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
> +endif
>
>  # enable combined SPL/u-boot/dtb rules for tegra
>  ifneq ($(CONFIG_TEGRA),)
> diff --git a/doc/README.x86 b/doc/README.x86
> index 7df8cc5..ddfd75e 100644
> --- a/doc/README.x86
> +++ b/doc/README.x86
> @@ -51,9 +51,11 @@ Building 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 uncommenting the following line in the main U-Boot Makefile:
> +on by enabling the ROM build:
>
> -# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
> +$ export BUILD_ROM=y
> +
> +This tells the Makefile to build u-boot.rom as a target.
>
>  Link-specific instructions:
>
> @@ -126,11 +128,11 @@ Make sure 0x1110000 matches CONFIG_SYS_TEXT_BASE and 0x1110015 matches the
>  symbol address of _start (in arch/x86/cpu/start.S).
>
>  If you want to use ELF as the coreboot payload, change U-Boot configuration to
> -use CONFIG_OF_EMBED.
> +use CONFIG_OF_EMBED instead of CONFIG_OF_SEPARATE.
>
>  CPU Microcode
>  -------------
> -Modern CPU usually requires a special bit stream called microcode [5] to be
> +Modern CPUs usually require a special bit stream called microcode [5] to be
>  loaded on the processor after power up in order to function properly. U-Boot
>  has already integrated these as hex dumps in the source tree.
>
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass Jan. 28, 2015, 11:43 p.m. UTC | #2
On 27 January 2015 at 21:32, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Wed, Jan 28, 2015 at 1:13 PM, Simon Glass <sjg@chromium.org> wrote:
>> Rather than requiring the Makefile to be modified, provide a build option to
>> enable the ROM to be built.
>>
>> We cannot do this by default since it requires binary blobs. Without these
>> the build will fail.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>> Changes in v2:
>> - Fix README typos
>>
>>  Makefile       |  5 +++--
>>  doc/README.x86 | 10 ++++++----
>>  2 files changed, 9 insertions(+), 6 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index a876f1f..c6e4ad1 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -729,8 +729,9 @@ ALL-$(CONFIG_SPL) += $(CONFIG_SPL_TARGET:"%"=%)
>>  endif
>>  ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf
>>
>> -# We can't do this yet due to the need for binary blobs
>> -# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
>> +ifneq ($(BUILD_ROM),)
>> +ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
>> +endif
>>
>>  # enable combined SPL/u-boot/dtb rules for tegra
>>  ifneq ($(CONFIG_TEGRA),)
>> diff --git a/doc/README.x86 b/doc/README.x86
>> index 7df8cc5..ddfd75e 100644
>> --- a/doc/README.x86
>> +++ b/doc/README.x86
>> @@ -51,9 +51,11 @@ Building 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 uncommenting the following line in the main U-Boot Makefile:
>> +on by enabling the ROM build:
>>
>> -# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
>> +$ export BUILD_ROM=y
>> +
>> +This tells the Makefile to build u-boot.rom as a target.
>>
>>  Link-specific instructions:
>>
>> @@ -126,11 +128,11 @@ Make sure 0x1110000 matches CONFIG_SYS_TEXT_BASE and 0x1110015 matches the
>>  symbol address of _start (in arch/x86/cpu/start.S).
>>
>>  If you want to use ELF as the coreboot payload, change U-Boot configuration to
>> -use CONFIG_OF_EMBED.
>> +use CONFIG_OF_EMBED instead of CONFIG_OF_SEPARATE.
>>
>>  CPU Microcode
>>  -------------
>> -Modern CPU usually requires a special bit stream called microcode [5] to be
>> +Modern CPUs usually require a special bit stream called microcode [5] to be
>>  loaded on the processor after power up in order to function properly. U-Boot
>>  has already integrated these as hex dumps in the source tree.
>>
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot-x86.
diff mbox

Patch

diff --git a/Makefile b/Makefile
index a876f1f..c6e4ad1 100644
--- a/Makefile
+++ b/Makefile
@@ -729,8 +729,9 @@  ALL-$(CONFIG_SPL) += $(CONFIG_SPL_TARGET:"%"=%)
 endif
 ALL-$(CONFIG_REMAKE_ELF) += u-boot.elf
 
-# We can't do this yet due to the need for binary blobs
-# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
+ifneq ($(BUILD_ROM),)
+ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
+endif
 
 # enable combined SPL/u-boot/dtb rules for tegra
 ifneq ($(CONFIG_TEGRA),)
diff --git a/doc/README.x86 b/doc/README.x86
index 7df8cc5..ddfd75e 100644
--- a/doc/README.x86
+++ b/doc/README.x86
@@ -51,9 +51,11 @@  Building 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 uncommenting the following line in the main U-Boot Makefile:
+on by enabling the ROM build:
 
-# ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
+$ export BUILD_ROM=y
+
+This tells the Makefile to build u-boot.rom as a target.
 
 Link-specific instructions:
 
@@ -126,11 +128,11 @@  Make sure 0x1110000 matches CONFIG_SYS_TEXT_BASE and 0x1110015 matches the
 symbol address of _start (in arch/x86/cpu/start.S).
 
 If you want to use ELF as the coreboot payload, change U-Boot configuration to
-use CONFIG_OF_EMBED.
+use CONFIG_OF_EMBED instead of CONFIG_OF_SEPARATE.
 
 CPU Microcode
 -------------
-Modern CPU usually requires a special bit stream called microcode [5] to be
+Modern CPUs usually require a special bit stream called microcode [5] to be
 loaded on the processor after power up in order to function properly. U-Boot
 has already integrated these as hex dumps in the source tree.