x86: fsp: Update struct common_buf for FSP spec 1.1
authorBin Meng <bmeng.cn@gmail.com>
Wed, 16 Aug 2017 05:41:51 +0000 (22:41 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Sat, 16 Sep 2017 06:57:44 +0000 (14:57 +0800)
FSP spec 1.1 adds one more member to the struct common_buf to
determine the memory size that can be reserved by FSP below "top
of low usable memory" for bootloader usage. This new member uses
the reserved space so that it is still compatible with previous
FSP spec 1.0.

A new HOB (FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID) is also
published when common_buf.tolum_size is valid and non zero.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/x86/include/asm/fsp/fsp_api.h
arch/x86/include/asm/fsp/fsp_hob.h

index afafb30c147feb4c63831b4faf1591cb92cf753c..43f0cdb085a42d72f639e46f58b5430fe6b3b303 100644 (file)
@@ -43,7 +43,8 @@ struct common_buf {
        u32     stack_top;
        u32     boot_mode;      /* Current system boot mode */
        void    *upd_data;      /* User platform configuraiton data region */
-       u32     reserved[7];    /* Reserved */
+       u32     tolum_size;     /* Top of low usable memory size (FSP 1.1) */
+       u32     reserved[6];    /* Reserved */
 };
 
 enum fsp_phase {
index 7c22bcd5cd8e7448d1daffd41a28abf0069a8dfa..8ce665e512f7393114db28b287b33f13fa082f8c 100644 (file)
@@ -242,4 +242,12 @@ static inline u16 get_guid_hob_data_size(const struct hob_header *hdr)
        { 0x82, 0xb9, 0x56, 0xa5, 0xf3, 0xe6, 0x2a, 0x07 } \
        }
 
+/* The following GUIDs are newly introduced in FSP spec 1.1 */
+
+#define FSP_HOB_RESOURCE_OWNER_BOOTLOADER_TOLUM_GUID \
+       { \
+       0x73ff4f56, 0xaa8e, 0x4451, \
+       { 0xb3, 0x16, 0x36, 0x35, 0x36, 0x67, 0xad, 0x44 } \
+       }
+
 #endif