Skip to content
  • Bin Meng's avatar
    x86: fsp: Make sure HOB list is not overwritten by U-Boot · dc5be508
    Bin Meng authored
    
    
    Intel IvyBridge FSP seems to be buggy that it does not report memory
    used by FSP itself as reserved in the resource descriptor HOB. The
    FSP specification does not describe how resource descriptor HOBs are
    generated by the FSP to describe what memory regions. It looks newer
    FSPs like Queensbay and BayTrail do not have such issue. This causes
    U-Boot relocation overwrites the important boot service data which is
    used by FSP, and the subsequent call to fsp_notify() will fail.
    
    To resolve this, we find out the lowest memory base address allocated
    by FSP for the boot service data when walking through the HOB list in
    fsp_get_usable_lowmem_top(). Check whether the memory top address is
    below the FSP HOB list, and if not, use the lowest memory base address
    allocated by FSP as the memory top address.
    
    Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
    Acked-by: default avatarSimon Glass <sjg@chromium.org>
    Tested on link (ivybridge non-FSP)
    Tested-by: default avatarSimon Glass <sjg@chromium.org>
    dc5be508