x86: fsp: Make hob command a sub-command to fsp
[oweals/u-boot.git] / arch / x86 / lib / fsp / fsp_support.c
index 8b639f78197106e0010cb0c32d7b5ecf2e1dae3e..1d48ff4a8e7a6a5079c97c611d2dafa6ce6724d3 100644 (file)
@@ -124,6 +124,10 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
        struct fsp_init_params *params_ptr;
        struct upd_region *fsp_upd;
 
+#ifdef CONFIG_DEBUG_UART
+       setup_early_uart();
+#endif
+
        fsp_hdr = find_fsp_header();
        if (fsp_hdr == NULL) {
                /* No valid FSP info header was found */
@@ -143,8 +147,7 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
                        fsp_hdr->cfg_region_off);
 
        /* Verify the VPD data region is valid */
-       assert((fsp_vpd->img_rev == VPD_IMAGE_REV) &&
-              (fsp_vpd->sign == VPD_IMAGE_ID));
+       assert(fsp_vpd->sign == VPD_IMAGE_ID);
 
        /* Copy default data from Flash */
        memcpy(fsp_upd, (void *)(fsp_hdr->img_base + fsp_vpd->upd_offset),
@@ -169,6 +172,9 @@ void fsp_init(u32 stack_top, u32 boot_mode, void *nvs_buf)
 
        post_code(POST_PRE_MRC);
 
+       /* Load GDT for FSP */
+       setup_fsp_gdt();
+
        /*
         * Use ASM code to ensure the register value in EAX & ECX
         * will be passed into BlContinuationFunc
@@ -275,7 +281,7 @@ u64 fsp_get_usable_highmem_top(const void *hob_list)
                        res_desc = (struct hob_res_desc *)hdr;
                        if (res_desc->type == RES_SYS_MEM) {
                                phys_start = res_desc->phys_start;
-                               /* Need memory above 1MB to be collected here */
+                               /* Need memory above 4GB to be collected here */
                                if (phys_start >= (phys_addr_t)FSP_HIGHMEM_BASE)
                                        top += (u32)(res_desc->len);
                        }