[coreboot] Patch merged into coreboot/master: fb8632a oprom: Ensure that mode information is valid before putting it in the tables.

gerrit at coreboot.org gerrit at coreboot.org
Mon Nov 12 04:22:34 CET 2012


the following patch was just integrated into master:
commit fb8632ab58de871ef3a25b5e57c7a2e95f04a0d8
Author: Gabe Black <gabeblack at google.com>
Date:   Sun Sep 30 04:47:48 2012 -0700

    oprom: Ensure that mode information is valid before putting it in the tables.
    
    At least when CONFIG_CHROMEOS is turned on, it's possible for
    CONFIG_FRAMEBUFFER_KEEP_VESA_MODE to be set but for there not to be any valid
    information to put into the framebuffer coreboot table. That means that what's
    put in there is junk, probably all zeroes from the uninitialized global
    variable the mode information is stored in (mode_info).
    
    When a payload uses libpayload and turns on the coreboot framebuffer console,
    that console will attempt to scroll at some point and decrease the cursor's y
    coordinate until it is less than the number of rows claimed by the console.
    The number of rows is computed by taking the vertical resolution of the
    framebuffer and dividing it by the height of the font. Because the mode
    information was all zeroes, the coreboot table info is all zeroes, and that
    means that the number of rows the console claims is zero. You can't get the
    unsigned y coordinate of the cursor to be less than zero, so libpayload gets
    stuck in an infinite loop.
    
    The solution this change implements is to add a new function,
    vbe_mode_info_valid, which simply returns whether or not mode_info has anything
    in it. If not, the framebuffer coreboot table is not created, and libpayload
    doesn't get stuck.
    
    Change-Id: I08f3ec628e4453f0cfe9e15c4d8dfd40327f91c9
    Signed-off-by: Gabe Black <gabeblack at google.com>
    Reviewed-on: http://review.coreboot.org/1758
    Tested-by: build bot (Jenkins)
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>

Build-Tested: build bot (Jenkins) at Sun Nov 11 20:58:22 2012, giving +1
Reviewed-By: Stefan Reinauer <stefan.reinauer at coreboot.org> at Mon Nov 12 04:22:33 2012, giving +2
See http://review.coreboot.org/1758 for details.

-gerrit




More information about the coreboot mailing list