[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:38:36 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 c53345a3d6abcccaa71183d6613edb74ea5b674e
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