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>
master
Simon Glass 10 years ago
parent b2e02d2865
commit 0f61de8d9d
  1. 4
      Makefile
  2. 11
      arch/x86/cpu/queensbay/tnc_car.S
  3. 7
      arch/x86/dts/crownbay.dts

@ -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),)

@ -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)

@ -50,4 +50,11 @@
memory-map = <0xffe00000 0x00200000>;
};
};
microcode {
update@0 {
#include "microcode/m0220661105_cv.dtsi"
};
};
};

Loading…
Cancel
Save