[coreboot-gerrit] Change in coreboot[master]: cbfstool/fit.c: Fix for older CPUs without total_size in mcu_header

Arthur Heymans (Code Review) gerrit at coreboot.org
Wed Jun 13 15:55:51 CEST 2018


Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/27090


Change subject: cbfstool/fit.c: Fix for older CPUs without total_size in mcu_header
......................................................................

cbfstool/fit.c: Fix for older CPUs without total_size in mcu_header

Some older CPUs have a fixed size of 2048 bytes for microcode total size.

Change-Id: Ia50c087af41b0df14b607ce3c3b4eabc602e8738
Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
M util/cbfstool/fit.c
1 file changed, 5 insertions(+), 4 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/90/27090/1

diff --git a/util/cbfstool/fit.c b/util/cbfstool/fit.c
index e3e6c32..1684ef6 100644
--- a/util/cbfstool/fit.c
+++ b/util/cbfstool/fit.c
@@ -226,13 +226,14 @@
 
 		mcu_header = rom_buffer_pointer(&image->buffer, current_offset);
 
-		/* Quickly sanity check a prospective microcode update. */
-		if (mcu_header->total_size < sizeof(*mcu_header))
-			break;
+		/* Newer microcode updates include a size field, whereas older
+		 * containers set it at 0 and are exactly 2048 bytes long */
+		uint32_t update_size = mcu_header->total_size
+			? mcu_header->total_size : 2048;
 
 		/* FIXME: Should the checksum be validated? */
 		mcus[num_mcus].offset = current_offset;
-		mcus[num_mcus].size = mcu_header->total_size;
+		mcus[num_mcus].size = update_size;
 
 		/* Proceed to next payload. */
 		current_offset += mcus[num_mcus].size;

-- 
To view, visit https://review.coreboot.org/27090
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia50c087af41b0df14b607ce3c3b4eabc602e8738
Gerrit-Change-Number: 27090
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur at aheymans.xyz>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180613/f765adef/attachment-0001.html>


More information about the coreboot-gerrit mailing list