[U-Boot] [PATCH 07/10] x86: fsp: Make sure HOB list is not overwritten by U-Boot
Bin Meng
bmeng.cn at gmail.com
Mon Dec 21 03:36:47 CET 2015
Hi Simon,
On Sat, Dec 19, 2015 at 10:52 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 11 December 2015 at 03:55, Bin Meng <bmeng.cn at gmail.com> wrote:
>> 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: Bin Meng <bmeng.cn at gmail.com>
>> ---
>>
>> arch/x86/lib/fsp/fsp_support.c | 27 +++++++++++++++++++++++++++
>> 1 file changed, 27 insertions(+)
>
> Acked-by: Simon Glass <sjg at chromium.org>
> Tested on link (ivybridge non-FSP)
> Tested-by: Simon Glass <sjg at chromium.org>
>
> But if this is a bug I'd prefer to have it behind an #iffdef, or with
> a large comment in the code. Otherwise we might think it is an
> important feature for all platforms.
>
Yep, will change to use #ifdef in v2.
Regards,
Bin
More information about the U-Boot
mailing list