From 3156934bf8f059fb8ba14965b75ed0ccb56c79cb Mon Sep 17 00:00:00 2001 From: John Zhao Date: Tue, 23 Aug 2016 16:38:05 -0700 Subject: soc/intel/apollolake: Gather microcode revision Expose get_microcode_info in cpu initialization. Microcode revision is retrieved and stored into log file at verstage. BUG=chrome-os-partner:56544 BRANCH=None TEST=Built coreboot image and validate log file Change-Id: I1e792e70f1318df64b4b85a319700013f3757952 Signed-off-by: John Zhao Reviewed-on: https://review.coreboot.org/16311 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/apollolake/cpu.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/soc/intel/apollolake/cpu.c b/src/soc/intel/apollolake/cpu.c index 4f74def886..86fe3e1fd5 100644 --- a/src/soc/intel/apollolake/cpu.c +++ b/src/soc/intel/apollolake/cpu.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -42,7 +43,6 @@ static const struct cpu_driver driver __cpu_driver = { .id_table = cpu_table, }; - /* * MP and SMM loading initialization. */ @@ -88,6 +88,12 @@ static int get_cpu_count(void) return num_virt_cores; } +static void get_microcode_info(const void **microcode, int *parallel) +{ + *microcode = intel_microcode_find(); + *parallel = 1; +} + static void get_smm_info(uintptr_t *perm_smbase, size_t *perm_smsize, size_t *smm_save_state_size) { @@ -135,6 +141,7 @@ static const struct mp_ops mp_ops = { .pre_mp_init = pre_mp_init, .get_cpu_count = get_cpu_count, .get_smm_info = get_smm_info, + .get_microcode_info = get_microcode_info, .pre_mp_smm_init = southbridge_smm_clear_state, .relocation_handler = relocation_handler, .post_mp_init = southbridge_smm_enable_smi, -- cgit v1.2.3