cbfstool/fsp: Rename fsp1_1_relocate
FSP 2.0 uses the same relocate logic as FSP 1.1. Thus, rename fsp1_1_relocate to more generic fsp_component_relocate that can be used by cbfstool to relocate either FSP 1.1 or FSP 2.0 components. Allow FSP1.1 driver to still call fsp1_1_relocate which acts as a wrapper for fsp_component_relocate. Change-Id: I14a6efde4d86a340663422aff5ee82175362d1b0 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/14749 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
		| @@ -11,7 +11,7 @@ ramstage-y += region.c | ||||
| smm-y += region.c | ||||
| postcar-y += region.c | ||||
|  | ||||
| ramstage-$(CONFIG_PLATFORM_USES_FSP1_1) += fsp1_1_relocate.c | ||||
| ramstage-$(CONFIG_PLATFORM_USES_FSP1_1) += fsp_relocate.c | ||||
|  | ||||
| bootblock-y += cbfs.c | ||||
| verstage-y += cbfs.c | ||||
|   | ||||
| @@ -15,7 +15,7 @@ | ||||
| 
 | ||||
| #include <console/console.h> | ||||
| #include <commonlib/endian.h> | ||||
| #include <commonlib/fsp1_1.h> | ||||
| #include <commonlib/fsp.h> | ||||
| /*
 | ||||
|  * Intel's code does not have a handle on changing global packing state. | ||||
|  * Therefore, one needs to protect against packing policies that are set | ||||
| @@ -482,7 +482,7 @@ static ssize_t relocate_fvh(uintptr_t new_addr, void *fsp, size_t fsp_size, | ||||
| 			} | ||||
| 
 | ||||
| 			/*
 | ||||
| 			 * The entire FSP 1.1 image can be thought of as one | ||||
| 			 * The entire FSP image can be thought of as one | ||||
| 			 * program with a single link address even though there | ||||
| 			 * are multiple TEs linked separately. The reason is | ||||
| 			 * that each TE is linked for XIP. So in order to | ||||
| @@ -511,7 +511,7 @@ static ssize_t relocate_fvh(uintptr_t new_addr, void *fsp, size_t fsp_size, | ||||
| 	return fv_length; | ||||
| } | ||||
| 
 | ||||
| ssize_t fsp1_1_relocate(uintptr_t new_addr, void *fsp, size_t size) | ||||
| ssize_t fsp_component_relocate(uintptr_t new_addr, void *fsp, size_t size) | ||||
| { | ||||
| 	size_t offset; | ||||
| 	size_t fih_offset; | ||||
| @@ -542,3 +542,8 @@ ssize_t fsp1_1_relocate(uintptr_t new_addr, void *fsp, size_t size) | ||||
| 
 | ||||
| 	return relocate_remaining_items(fsp, size, new_addr, fih_offset); | ||||
| } | ||||
| 
 | ||||
| ssize_t fsp1_1_relocate(uintptr_t new_addr, void *fsp, size_t size) | ||||
| { | ||||
| 	return fsp_component_relocate(new_addr, fsp, size); | ||||
| } | ||||
| @@ -1,7 +1,7 @@ | ||||
| /*
 | ||||
|  * This file is part of the coreboot project. | ||||
|  * | ||||
|  * Copyright 2015 Google Inc. | ||||
|  * Copyright 2016 Google Inc. | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
| @@ -13,8 +13,8 @@ | ||||
|  * GNU General Public License for more details. | ||||
|  */ | ||||
| 
 | ||||
| #ifndef _COMMONLIB_FSP1_1_H_ | ||||
| #define _COMMONLIB_FSP1_1_H_ | ||||
| #ifndef _COMMONLIB_FSP_H_ | ||||
| #define _COMMONLIB_FSP_H_ | ||||
| 
 | ||||
| #include <stddef.h> | ||||
| #include <stdint.h> | ||||
| @@ -23,6 +23,9 @@ | ||||
|  * Relocate FSP held within buffer defined by size to new_addr. Returns < 0 | ||||
|  * on error, offset to FSP_INFO_HEADER on success. | ||||
|  */ | ||||
| ssize_t fsp_component_relocate(uintptr_t new_addr, void *fsp, size_t size); | ||||
| 
 | ||||
| /* API to relocate fsp 1.1 component. */ | ||||
| ssize_t fsp1_1_relocate(uintptr_t new_addr, void *fsp, size_t size); | ||||
| 
 | ||||
| #endif | ||||
| @@ -15,7 +15,7 @@ | ||||
|  | ||||
| #include <console/console.h> | ||||
| #include <cbmem.h> | ||||
| #include <commonlib/fsp1_1.h> | ||||
| #include <commonlib/fsp.h> | ||||
| #include <fsp/util.h> | ||||
|  | ||||
| int fsp_relocate(struct prog *fsp_relocd, const struct region_device *fsp_src) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user