u-boot/arch/x86/lib
Bin Meng dc5be508b0 x86: fsp: Make sure HOB list is not overwritten by U-Boot
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@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested on link (ivybridge non-FSP)
Tested-by: Simon Glass <sjg@chromium.org>
2016-02-21 13:42:52 +08:00
..
efi x86: Add helper code for running from EFI 2015-08-05 08:44:08 -06:00
fsp x86: fsp: Make sure HOB list is not overwritten by U-Boot 2016-02-21 13:42:52 +08:00
Makefile x86: Drop pci_type1.c and DEFINE_PCI_DEVICE_TABLE 2016-02-05 12:47:24 +08:00
acpi_table.c x86: qemu: add the ability to load and link ACPI tables from QEMU 2016-01-28 13:53:30 +08:00
asm-offsets.c x86: Add support for passing tables into U-Boot 2015-08-05 08:44:07 -06:00
bios.c dm: x86: pci: Adjust bios_run_on_x86() to use the DM PCI API 2016-01-12 10:19:09 -07:00
bios.h x86: move arch-specific asmlinkage to <asm/linkage.h> 2014-12-15 07:22:53 -07:00
bios_asm.S x86: bios: Synchronize stack between real and protected mode 2015-07-14 18:03:18 -06:00
bios_interrupts.c dm: Convert bios_interrupts to use DM PCI API 2016-01-12 10:19:09 -07:00
bootm.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
cmd_boot.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_mtrr.c x86: cmd_mtrr: Improve MTRR list information 2015-07-14 18:03:18 -06:00
e820.c x86: Move install_e820_map() out of zimage.c 2015-10-21 07:46:25 -06:00
gcc.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
i8254.c x86: Rename pcat_ to i8254 and i8259 accordingly 2015-11-13 06:46:18 -08:00
i8259.c x86: Rename pcat_ to i8254 and i8259 accordingly 2015-11-13 06:46:18 -08:00
init_helpers.c x86: Remove calculate_relocation_address() 2015-08-26 07:54:07 -07:00
interrupts.c x86: Rename CONFIG_SYS_NUM_IRQS to SYS_NUM_IRQS 2015-11-13 06:46:16 -08:00
lpc-uclass.c x86: Add some missing global_data declarations in files that use gd 2015-08-05 08:42:41 -06:00
mpspec.c x86: Use the IRQ device when setting up the mptable 2016-01-24 12:07:18 +08:00
mrccache.c x86: Don't show an error when the MRC cache is up to date 2016-01-24 12:08:17 +08:00
northbridge-uclass.c dm: x86: Add a northbridge uclass 2016-01-24 12:08:16 +08:00
physmem.c x86: Move paging functions into cpu.c 2014-10-28 20:42:51 -06:00
pirq_routing.c x86: irq: Move irq_router to a per driver priv 2016-02-05 12:47:22 +08:00
ramtest.c x86: ivybridge: Implement SDRAM init 2014-11-21 07:34:15 +01:00
relocate.c x86: Allow relocation code to build without text base 2015-08-05 08:44:06 -06:00
sfi.c x86: Add support for the Simple Firmware Interface (SFI) 2015-04-29 21:02:33 -06:00
smbios.c x86: Add SMBIOS table support 2015-10-21 07:46:26 -06:00
string.c Replace <compiler.h> with <linux/compiler.h> 2014-12-08 09:35:46 -05:00
tables.c x86: Add SMBIOS table support 2015-10-21 07:46:26 -06:00
zimage.c x86: Move install_e820_map() out of zimage.c 2015-10-21 07:46:25 -06:00