aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/intel/fsp1_1/cache_as_ram.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/intel/fsp1_1/cache_as_ram.S')
-rw-r--r--src/drivers/intel/fsp1_1/cache_as_ram.S23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/drivers/intel/fsp1_1/cache_as_ram.S b/src/drivers/intel/fsp1_1/cache_as_ram.S
index f4638d9c18..fea7acb2e2 100644
--- a/src/drivers/intel/fsp1_1/cache_as_ram.S
+++ b/src/drivers/intel/fsp1_1/cache_as_ram.S
@@ -239,11 +239,30 @@ fake_fsp_stack:
.long CONFIG_FSP_LOC /* FSP base address */
CAR_init_params:
- .long CONFIG_CPU_MICROCODE_CBFS_LOC /* Microcode Location */
- .long CONFIG_CPU_MICROCODE_CBFS_LEN /* Microcode Length */
+ .long fake_microcode /* Microcode Location */
+ .long fake_microcode_end - fake_microcode /* Microcode Length */
.long 0xFFFFFFFF - CONFIG_ROM_SIZE + 1 /* Firmware Location */
.long CONFIG_ROM_SIZE /* Firmware Length */
CAR_init_stack:
.long CAR_init_done
.long CAR_init_params
+
+ /* coreboot updates microcode itself. FSP still needs a pointer
+ to something that looks like microcode, so provide it with fake
+ microcode. */
+fake_microcode:
+fake_microcode_header_start:
+ .long 1 /* Header Version */
+ .long 1 /* Microcode revision */
+ .long 0x10232019 /* Date: Time of writing 23-10-2019 */
+ .long 0x00010ff0 /* Sig: (non existing) Family: 0xf, Model: 0x1f, stepping: 0 */
+ .long 0 /* Checksum: not checked by FSP, so won't care */
+ .long 1 /* Loader Revision */
+ .long 1 /* Processor Flags */
+ .long fake_microcode_end - fake_microcode_header_end /* Data Size */
+ .long fake_microcode_end - fake_microcode /* Total Size */
+ .space 12 /* Reserved */
+fake_microcode_header_end:
+ .space 0x10 /* 16 bytes of empty data */
+fake_microcode_end: