soc/fsp_broadwell_de: Add early microcode updates

Add support for updating microcodes on FSP 1.0 platforms
before memory is initialized. This is a requirement to
fill other FIT entries except for microcode updates.

Change-Id: Ie31acaf0fc41c51b9edf65b981d43d7732661770
Signed-off-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/29819
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Huang Jin <huang.jin@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Philipp Deppenwiese 2018-11-23 19:01:12 +01:00 committed by Patrick Georgi
parent d379840333
commit 13e2a32639
1 changed files with 5 additions and 0 deletions

View File

@ -22,6 +22,7 @@
#include <lib.h> // hexdump #include <lib.h> // hexdump
#include <ip_checksum.h> #include <ip_checksum.h>
#include <timestamp.h> #include <timestamp.h>
#include <cpu/intel/microcode.h>
#ifndef __PRE_RAM__ #ifndef __PRE_RAM__
/* Globals pointers for FSP structures */ /* Globals pointers for FSP structures */
@ -75,6 +76,10 @@ void __noreturn fsp_early_init (FSP_INFO_HEADER *fsp_ptr)
UPD_DATA_REGION fsp_upd_data; UPD_DATA_REGION fsp_upd_data;
#endif #endif
/* Load microcode before RAM init */
if (IS_ENABLED(CONFIG_SUPPORT_CPU_UCODE_IN_CBFS))
intel_update_microcode_from_cbfs();
memset((void *)&FspRtBuffer, 0, sizeof(FSP_INIT_RT_BUFFER)); memset((void *)&FspRtBuffer, 0, sizeof(FSP_INIT_RT_BUFFER));
FspRtBuffer.Common.StackTop = (u32 *)CONFIG_RAMTOP; FspRtBuffer.Common.StackTop = (u32 *)CONFIG_RAMTOP;
FspInitParams.NvsBufferPtr = NULL; FspInitParams.NvsBufferPtr = NULL;