summaryrefslogtreecommitdiff
path: root/arch/x86/include
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2014-12-12 21:05:31 +0800
committerSimon Glass <sjg@chromium.org>2014-12-13 22:32:05 -0700
commitbceb9f0fc80c71b8b2a7371288199cdacca1bad9 (patch)
tree1d00bc6193c70c1bb940f339ab15927460c1002f /arch/x86/include
parent95a5a474665307f231c36d1896d1ca7c6c9680f9 (diff)
downloadu-boot-imx-bceb9f0fc80c71b8b2a7371288199cdacca1bad9.zip
u-boot-imx-bceb9f0fc80c71b8b2a7371288199cdacca1bad9.tar.gz
u-boot-imx-bceb9f0fc80c71b8b2a7371288199cdacca1bad9.tar.bz2
x86: Support Intel FSP initialization path in start.S
Per Intel FSP architecture specification, FSP provides 3 routines for bootloader to call. The first one is the TempRamInit (aka Cache-As-Ram initialization) and the second one is the FspInit which does the memory bring up (like MRC for other x86 targets) and chipset initialization. Those two routines have to be called before U-Boot jumping to board_init_f in start.S. The FspInit() will return several memory blocks called Hand Off Blocks (HOBs) whose format is described in Platform Initialization (PI) specification (part of the UEFI specication) to the bootloader. Save this HOB address to the U-Boot global data for later use. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/global_data.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index 48bbd1a..03d491a 100644
--- a/arch/x86/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
@@ -47,6 +47,9 @@ struct arch_global_data {
enum pei_boot_mode_t pei_boot_mode;
const struct pch_gpio_map *gpio_map; /* board GPIO map */
struct memory_info meminfo; /* Memory information */
+#ifdef CONFIG_HAVE_FSP
+ void *hob_list; /* FSP HOB list */
+#endif
};
#endif