[U-Boot] [PATCH v4 03/15] x86: Convert microcode format to device-tree-only
Simon Glass
sjg at chromium.org
Wed Dec 17 15:56:23 CET 2014
On 17 December 2014 at 01:05, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi,
>
> On Wed, Dec 17, 2014 at 3:50 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
>> From: Simon Glass <sjg at chromium.org>
>>
>> To avoid having two microcode formats, adjust the build system to support
>> obtaining the microcode from the device tree, even in the case where it
>> must be made available before the device tree can be accessed.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>
>> ---
>>
>> Changes in v4:
>> - Squash the microcode.dtsi to patch#1 in the v4 series
>>
>> Changes in v3: None
>> Changes in v2: None
>>
>> Makefile | 4 +++-
>> arch/x86/cpu/queensbay/tnc_car.S | 11 ++++-------
>> arch/x86/dts/crownbay.dts | 7 +++++++
>> 3 files changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index fd24cde..d4e60e8 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -947,7 +947,9 @@ ifneq ($(CONFIG_X86_RESET_VECTOR),)
>> rom: u-boot.rom FORCE
>>
>> IFDTOOL=$(objtree)/tools/ifdtool
>> -IFDTOOL_FLAGS = -w $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot-dtb.bin
>> +IFDTOOL_FLAGS = -f 0:$(objtree)/u-boot.dtb
>> +IFDTOOL_FLAGS += -m 0x$(shell $(NM) u-boot |grep _dt_ucode_base_size |cut -d' ' -f1)
>> +IFDTOOL_FLAGS += -U $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot.bin
>> IFDTOOL_FLAGS += -w $(CONFIG_SYS_X86_START16):$(objtree)/u-boot-x86-16bit.bin
>>
>> ifneq ($(CONFIG_HAVE_INTEL_ME),)
>> diff --git a/arch/x86/cpu/queensbay/tnc_car.S b/arch/x86/cpu/queensbay/tnc_car.S
>> index 6834a64..2e9139e 100644
>> --- a/arch/x86/cpu/queensbay/tnc_car.S
>> +++ b/arch/x86/cpu/queensbay/tnc_car.S
>> @@ -116,12 +116,9 @@ temp_ram_init_romstack:
>> .long temp_ram_init_ret
>> .long temp_ram_init_params
>> temp_ram_init_params:
>> - .long ucode_start /* microcode base */
>> - .long ucode_size /* microcode size */
>> +_dt_ucode_base_size:
>> + /* These next two fields are filled in by ifdtool */
>> + .long 0 /* microcode base */
>> + .long 0 /* microcode size */
>> .long CONFIG_SYS_MONITOR_BASE /* code region base */
>> .long CONFIG_SYS_MONITOR_LEN /* code region size */
>> -
>> - .balign 4
>> -ucode_start:
>> - .include "arch/x86/cpu/queensbay/M0220661105.inc"
>> -ucode_size = ( . - ucode_start)
>> diff --git a/arch/x86/dts/crownbay.dts b/arch/x86/dts/crownbay.dts
>> index 399dafb..3f43f3c 100644
>> --- a/arch/x86/dts/crownbay.dts
>> +++ b/arch/x86/dts/crownbay.dts
>> @@ -50,4 +50,11 @@
>> memory-map = <0xffe00000 0x00200000>;
>> };
>> };
>> +
>> + microcode {
>> + update at 0 {
>> +#include "microcode/m0220661105_cv.dtsi"
>> + };
>> + };
>> +
>> };
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
> Tested-by: Bin Meng <bmeng.cn at gmail.com>
Applied to u-boot-x86, thanks!
More information about the U-Boot
mailing list