Commit 0f61de8d9dba4ebfc4ea4b2da7f91adc937b3875

Authored by Simon Glass
1 parent b2e02d2865

x86: Convert microcode format to device-tree-only

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@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>

Showing 3 changed files with 14 additions and 8 deletions Side-by-side Diff

... ... @@ -947,7 +947,9 @@
947 947 rom: u-boot.rom FORCE
948 948  
949 949 IFDTOOL=$(objtree)/tools/ifdtool
950   -IFDTOOL_FLAGS = -w $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot-dtb.bin
  950 +IFDTOOL_FLAGS = -f 0:$(objtree)/u-boot.dtb
  951 +IFDTOOL_FLAGS += -m 0x$(shell $(NM) u-boot |grep _dt_ucode_base_size |cut -d' ' -f1)
  952 +IFDTOOL_FLAGS += -U $(CONFIG_SYS_TEXT_BASE):$(objtree)/u-boot.bin
951 953 IFDTOOL_FLAGS += -w $(CONFIG_SYS_X86_START16):$(objtree)/u-boot-x86-16bit.bin
952 954  
953 955 ifneq ($(CONFIG_HAVE_INTEL_ME),)
arch/x86/cpu/queensbay/tnc_car.S
... ... @@ -116,13 +116,10 @@
116 116 .long temp_ram_init_ret
117 117 .long temp_ram_init_params
118 118 temp_ram_init_params:
119   - .long ucode_start /* microcode base */
120   - .long ucode_size /* microcode size */
  119 +_dt_ucode_base_size:
  120 + /* These next two fields are filled in by ifdtool */
  121 + .long 0 /* microcode base */
  122 + .long 0 /* microcode size */
121 123 .long CONFIG_SYS_MONITOR_BASE /* code region base */
122 124 .long CONFIG_SYS_MONITOR_LEN /* code region size */
123   -
124   - .balign 4
125   -ucode_start:
126   - .include "arch/x86/cpu/queensbay/M0220661105.inc"
127   -ucode_size = ( . - ucode_start)
arch/x86/dts/crownbay.dts
... ... @@ -50,5 +50,12 @@
50 50 memory-map = <0xffe00000 0x00200000>;
51 51 };
52 52 };
  53 +
  54 + microcode {
  55 + update@0 {
  56 +#include "microcode/m0220661105_cv.dtsi"
  57 + };
  58 + };
  59 +
53 60 };