[coreboot-gerrit] Patch set updated for coreboot: intel/gma/vbt.c: pad the ID string with spaces.

Arthur Heymans (arthur@aheymans.xyz) gerrit at coreboot.org
Mon Sep 26 14:27:01 CEST 2016


Arthur Heymans (arthur at aheymans.xyz) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/16739

-gerrit

commit 6f72ca56b9afaf53af4bf19555e4ea2b9a42e2d6
Author: Arthur Heymans <arthur at aheymans.xyz>
Date:   Sun Sep 25 22:36:26 2016 +0200

    intel/gma/vbt.c: pad the ID string with spaces.
    
    The VBT id string is 20 characters long.
    If the string is shorter than 20 it needs spaces at the end.
    
    Head used to be fully set to 0 (including signature). When an IDstring was
    shorter than 20, the remaining part of the header->signature would still be 0.
    This patch sets the remaining part to spaces just like the vbios does.
    
    Linux (at least 4.1-4.7) does not seem to care a lot about VBT,
    because previously it was not generated on i945 and the wrong string was
    used on gm45 and those still worked properly.
    
    Change-Id: Id6439f1d3dbd09319ee99ce9d15dbc3bcead1f53
    Signed-off-by: Arthur Heymans <arthur at aheymans.xyz>
---
 src/drivers/intel/gma/vbt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/drivers/intel/gma/vbt.c b/src/drivers/intel/gma/vbt.c
index e768402..9ec09d3 100644
--- a/src/drivers/intel/gma/vbt.c
+++ b/src/drivers/intel/gma/vbt.c
@@ -34,7 +34,9 @@ static size_t generate_vbt(const struct i915_gpu_controller_info *conf,
 
 	memset (head, 0, sizeof (*head));
 
-	memcpy (head->signature, idstr, 20);
+	memset(head->signature, ' ', sizeof(head->signature));
+	memcpy(head->signature, idstr, MIN(strlen(idstr),
+						sizeof(head->signature)));
 	head->version = 100;
 	head->header_size = sizeof (*head);
 	head->bdb_offset = sizeof (*head);



More information about the coreboot-gerrit mailing list