Add microcode blob processing

When microcode storage in CBFS is enabled, the make system is supposed
to generate the microcode blob and place it into the generated ROM
image as a CBFS component.

The microcode source representation does not change: it is still an
array of 32 bit constants. This new addition compiles the array into a
separate object file and then strips all sections but data.

The raw data section is then included into CBFS as a file named
'microcode_blob.bin' of type 0x53, which is assigned to microcode
storage.

Change-Id: I84ae040be52f520b106e3471c7e391e64d7847d9
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: http://review.coreboot.org/1295
Tested-by: build bot (Jenkins)
This commit is contained in:
Vadim Bendebury
2012-06-19 08:34:51 -07:00
committed by Stefan Reinauer
parent 537b4e09e6
commit 39fea6e2a8
3 changed files with 42 additions and 0 deletions

View File

@@ -1 +1,15 @@
ramstage-y += microcode.c
ifeq ($(CONFIG_MICROCODE_IN_CBFS),y)
SRC_PATH = src/cpu/intel/microcode
FLAGS = -I $(CONFIG_MICROCODE_INCLUDE_PATH) -include $(obj)/config.h
$(obj)/microcode_blob.o: $(SRC_PATH)/microcode_blob.c
$(CC) $(FLAGS) -MMD -c -o $@ $<
$(obj)/microcode_blob.bin: $(obj)/microcode_blob.o
objcopy -j .data -O binary $< $@
-include $(obj)/microcode_blob.d
endif