[U-Boot] [PATCH 32/39] x86: ivybridge: Perform Intel microcode update on boot
Simon Glass
sjg at chromium.org
Tue Nov 11 01:22:23 CET 2014
Hi Bin,
On 9 November 2014 19:54, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Fri, Nov 7, 2014 at 4:20 AM, Simon Glass <sjg at chromium.org> wrote:
>> Microcode updates are stored in the device tree. Work through these and
>> apply any that are needed.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> arch/x86/cpu/ivybridge/Makefile | 1 +
>> arch/x86/cpu/ivybridge/cpu.c | 5 +
>> arch/x86/cpu/ivybridge/microcode_intel.c | 150 ++++++++++++++++++++++++
>> arch/x86/include/asm/arch-ivybridge/microcode.h | 20 ++++
>> include/fdtdec.h | 1 +
>> lib/fdtdec.c | 1 +
>> 6 files changed, 178 insertions(+)
>> create mode 100644 arch/x86/cpu/ivybridge/microcode_intel.c
>> create mode 100644 arch/x86/include/asm/arch-ivybridge/microcode.h
>>
>> diff --git a/arch/x86/cpu/ivybridge/Makefile b/arch/x86/cpu/ivybridge/Makefile
>> index ce16697..a3ea566 100644
>> --- a/arch/x86/cpu/ivybridge/Makefile
>> +++ b/arch/x86/cpu/ivybridge/Makefile
>> @@ -7,4 +7,5 @@
>> obj-y += car.o
>> obj-y += cpu.o
>> obj-y += lpc.o
>> +obj-y += microcode_intel.o
>> obj-y += sdram.o
>> diff --git a/arch/x86/cpu/ivybridge/cpu.c b/arch/x86/cpu/ivybridge/cpu.c
>> index e73ccb7..bd2660f 100644
>> --- a/arch/x86/cpu/ivybridge/cpu.c
>> +++ b/arch/x86/cpu/ivybridge/cpu.c
>> @@ -19,6 +19,7 @@
>> #include <asm/post.h>
>> #include <asm/processor.h>
>> #include <asm/arch/model_206ax.h>
>> +#include <asm/arch/microcode.h>
>> #include <asm/arch/pch.h>
>>
>> DECLARE_GLOBAL_DATA_PTR;
>> @@ -198,6 +199,10 @@ int print_cpuinfo(void)
>> if (ret)
>> return ret;
>>
>> + ret = microcode_update_intel();
>> + if (ret && ret != -ENOENT && ret != -EEXIST)
>> + return ret;
>> +
>> /* Print processor name */
>> name = cpu_get_name(processor_name);
>> printf("CPU: %s\n", name);
>> diff --git a/arch/x86/cpu/ivybridge/microcode_intel.c b/arch/x86/cpu/ivybridge/microcode_intel.c
>> new file mode 100644
>> index 0000000..fbb55f2
>> --- /dev/null
>> +++ b/arch/x86/cpu/ivybridge/microcode_intel.c
>> @@ -0,0 +1,150 @@
>> +/*
>> + * Copyright (c) 2014 Google, Inc
>> + * Copyright (C) 2000 Ronald G. Minnich
>> + *
>> + * Microcode update for Intel PIII and later CPUs
>
> This comment suggests that the code is generic for all Intel CPUs, so
> should we move this code to arch/x86/lib?
Actually I think a lot of code is in that category, or at least I
fervently hope so! We may end up with an 'intel-common' directory, I'm
not sure. But I'd rather leave common discussions until we know things
are common.
Regards,
Simon
More information about the U-Boot
mailing list