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