[coreboot-gerrit] Patch set updated for coreboot: cpu/amd/microcode: Update microcode parser to handle expanded blob files

Timothy Pearson (tpearson@raptorengineeringinc.com) gerrit at coreboot.org
Wed Aug 12 03:36:07 CEST 2015


Timothy Pearson (tpearson at raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11164

-gerrit

commit 4592fbc5dcf4ae28afe96e8cd964f30e6aa726e9
Author: Timothy Pearson <tpearson at raptorengineeringinc.com>
Date:   Tue Aug 11 19:14:34 2015 -0500

    cpu/amd/microcode: Update microcode parser to handle expanded blob files
    
    The Family 15h microcode files provided by AMD are approximately 1,5x
    larger than the Family 10h and K8 files currently in the coreboot tree.
    As a result, they exceed the 2k/update size limit of coreboot's update
    mechanism.
    
    To handle the increased microcode size, coreboot's AMD microcode file
    format was changed to 4k/update in a separate commit to the blobs
    repository.  This patch allows parsing of that updated format.
    
    Change-Id: Id6aeff0c65d151a9741c83c2872676427932e6e0
    Signed-off-by: Timothy Pearson <tpearson at raptorengineeringinc.com>
---
 src/cpu/amd/microcode/microcode.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/cpu/amd/microcode/microcode.c b/src/cpu/amd/microcode/microcode.c
index 45e4bf0..b12e2cf 100644
--- a/src/cpu/amd/microcode/microcode.c
+++ b/src/cpu/amd/microcode/microcode.c
@@ -83,13 +83,13 @@ static void amd_update_microcode(const void *ucode,  size_t ucode_len,
 	const uint8_t *c = ucode;
 	const uint8_t *ucode_end = (uint8_t*)ucode + ucode_len;
 
-	while (c <= (ucode_end - 2048)) {
+	while (c <= (ucode_end - 4096)) {
 		m = (struct microcode *)c;
 		if (m->processor_rev_id == equivalent_processor_rev_id) {
 			apply_microcode_patch(m);
 			break;
 		}
-		c += 2048;
+		c += 4096;
 	}
 }
 



More information about the coreboot-gerrit mailing list