[U-Boot] [PATCH v4 03/15] x86: Convert microcode format to device-tree-only
Bin Meng
bmeng.cn at gmail.com
Wed Dec 17 08:50:37 CET 2014
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"
+ };
+ };
+
};
--
1.8.2.1
More information about the U-Boot
mailing list