treewide: Assume FMAP_SECTION_FLASH_START = 0
Now that we require the FMAP to start at offset 0 in the flash, we can assume this across the entire codebase and therefore simplify it on several ends. Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com> Change-Id: Ieb1a23f9c0ae8c0e1c91287d7eb6f7f0abbf0c2c Reviewed-on: https://review.coreboot.org/c/coreboot/+/86771 Reviewed-by: Erik van den Bogaert <ebogaert@eltan.com> Reviewed-by: Frans Hendriks <fhendriks@eltan.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Shuo Liu <shuo.liu@intel.com>
This commit is contained in:
parent
6f2a01f743
commit
2efe4df522
9 changed files with 6 additions and 33 deletions
|
|
@ -17,11 +17,7 @@
|
|||
|
||||
#define CBFS_FILE_STRUCTSIZE (CBFS_FILE_OFFSET + 4)
|
||||
|
||||
#if FMAP_SECTION_COREBOOT_START < (0xffffffff - CONFIG_ROM_SIZE + 1)
|
||||
#define COREBOOT_CBFS_START (0xffffffff - CONFIG_ROM_SIZE + 1 + FMAP_SECTION_COREBOOT_START)
|
||||
#else
|
||||
#define COREBOOT_CBFS_START FMAP_SECTION_COREBOOT_START
|
||||
#endif
|
||||
|
||||
.code32
|
||||
.section .init
|
||||
|
|
|
|||
|
|
@ -14,8 +14,7 @@ struct cbfs_header header = {
|
|||
* representing the CBFS region's size is added to the offset of
|
||||
* the region within a larger image.
|
||||
*/
|
||||
.romsize = cpu_to_be32(FMAP_SECTION_COREBOOT_START + FMAP_SECTION_COREBOOT_SIZE
|
||||
- FMAP_SECTION_FLASH_START),
|
||||
.romsize = cpu_to_be32(FMAP_SECTION_COREBOOT_START + FMAP_SECTION_COREBOOT_SIZE),
|
||||
/*
|
||||
* The 4 bytes are left out for two reasons:
|
||||
* 1. the cbfs master header pointer resides there
|
||||
|
|
@ -25,6 +24,6 @@ struct cbfs_header header = {
|
|||
*/
|
||||
.bootblocksize = cpu_to_be32(4),
|
||||
.align = cpu_to_be32(CBFS_ALIGNMENT),
|
||||
.offset = cpu_to_be32(FMAP_SECTION_COREBOOT_START - FMAP_SECTION_FLASH_START),
|
||||
.offset = cpu_to_be32(FMAP_SECTION_COREBOOT_START),
|
||||
.architecture = cpu_to_be32(CBFS_ARCHITECTURE_UNKNOWN),
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,11 +9,7 @@
|
|||
__attribute__((used, __section__(".header_pointer")))
|
||||
#endif
|
||||
|
||||
#if FMAP_SECTION_COREBOOT_START < (0xffffffff - CONFIG_ROM_SIZE + 1)
|
||||
#define COREBOOT_CBFS_START (0xffffffff - CONFIG_ROM_SIZE + 1 + FMAP_SECTION_COREBOOT_START)
|
||||
#else
|
||||
#define COREBOOT_CBFS_START FMAP_SECTION_COREBOOT_START
|
||||
#endif
|
||||
|
||||
uint32_t header_pointer =
|
||||
cpu_to_le32(COREBOOT_CBFS_START + ALIGN_UP(sizeof(struct cbfs_file)
|
||||
|
|
|
|||
|
|
@ -45,9 +45,7 @@ $(objcbfs)/bootblock.bin: $(obj)/amdfw.rom $(obj)/fmap_config.h
|
|||
amdfw_region_start=$(subst $(spc),,FMAP_SECTION_$(call regions-for-file,apu/amdfw)_START)
|
||||
amdfw_offset=$(call int-subtract, \
|
||||
$(CONFIG_AMD_FWM_POSITION) \
|
||||
$(call int-subtract, \
|
||||
$(call get_fmap_value,$(amdfw_region_start)) \
|
||||
$(call get_fmap_value,FMAP_SECTION_FLASH_START)))
|
||||
$(call get_fmap_value,$(amdfw_region_start)))
|
||||
|
||||
add_bootblock = \
|
||||
$(CBFSTOOL) $(1) add -f $(2) -n apu/amdfw -t amdfw \
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ smm-y += mmap_boot.c
|
|||
$(call add_intermediate, check-fmap-16mib-crossing, $(obj)/fmap_config.h)
|
||||
fmap_get() { awk "/$$1/ { print \$$NF }" < $<; }; \
|
||||
\
|
||||
flash_offset=$$(fmap_get FMAP_SECTION_FLASH_START); \
|
||||
flash_size=$$(fmap_get FMAP_SECTION_FLASH_SIZE); \
|
||||
if [ $$((flash_size)) -le $$((0x1000000)) ]; then \
|
||||
exit; \
|
||||
|
|
@ -55,7 +54,6 @@ $(call add_intermediate, check-fmap-16mib-crossing, $(obj)/fmap_config.h)
|
|||
do \
|
||||
start=$$(fmap_get "FMAP_SECTION_$${x}_START"); \
|
||||
size=$$(fmap_get "FMAP_SECTION_$${x}_SIZE"); \
|
||||
start=$$((start-flash_offset)); \
|
||||
end=$$((start+size-1)); \
|
||||
if [ $$((start)) -lt $$((bios_16M_boundary)) ] && \
|
||||
[ $$((end)) -ge $$((bios_16M_boundary)) ]; \
|
||||
|
|
|
|||
|
|
@ -48,9 +48,9 @@ CPPFLAGS_common += -I$(src)/southbridge/amd/pi/hudson/include
|
|||
# EC ROM should be 64K aligned.
|
||||
|
||||
ifeq ($(CONFIG_AMDFW_OUTSIDE_CBFS),y)
|
||||
HUDSON_FWM_POSITION=$(call int-add, $(call int-subtract, 0xffffffff $(CONFIG_ROM_SIZE)) 0x20000 1)
|
||||
HUDSON_FWM_POSITION=0x20000
|
||||
else
|
||||
HUDSON_FWM_POSITION=0xfff20000
|
||||
HUDSON_FWM_POSITION=0x720000
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_HUDSON_PSP), y)
|
||||
|
|
|
|||
|
|
@ -184,11 +184,7 @@ static void verified_boot_check_buffer(const char *name, void *start, size_t siz
|
|||
}
|
||||
}
|
||||
|
||||
#if FMAP_SECTION_COREBOOT_START < (0xffffffff - CONFIG_ROM_SIZE + 1)
|
||||
#define COREBOOT_CBFS_START (0xffffffff - CONFIG_ROM_SIZE + 1 + FMAP_SECTION_COREBOOT_START)
|
||||
#else
|
||||
#define COREBOOT_CBFS_START FMAP_SECTION_COREBOOT_START
|
||||
#endif
|
||||
|
||||
void verified_boot_check_cbfsfile(const char *name, uint32_t type, uint32_t hash_index,
|
||||
void **buffer, uint32_t *filesize, int32_t pcr)
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ static void test_fmap_find_region_name(void **state)
|
|||
assert_int_equal(-1, fmap_find_region_name(NULL, found_area_name));
|
||||
|
||||
/* Try to find area outside of flash region */
|
||||
ar.offset = FMAP_SECTION_FLASH_START + FMAP_SECTION_FLASH_SIZE + 0x100;
|
||||
ar.offset = FMAP_SECTION_FLASH_SIZE + 0x100;
|
||||
ar.size = 0x1000;
|
||||
assert_int_equal(-1, fmap_find_region_name(&ar, found_area_name));
|
||||
|
||||
|
|
|
|||
|
|
@ -639,16 +639,6 @@ int amdfwtool_getopt(int argc, char *argv[], amd_cb_config *cb_config, context *
|
|||
|
||||
printf(" AMDFWTOOL Using ROM size of %dKB\n", ctx->rom_size / 1024);
|
||||
|
||||
if (ctx->rom_size <= MAX_MAPPED_WINDOW) {
|
||||
uint32_t rom_base_address;
|
||||
|
||||
rom_base_address = 0xFFFFFFFF - ctx->rom_size + 1;
|
||||
if (cb_config->efs_location & ~MAX_MAPPED_WINDOW_MASK)
|
||||
cb_config->efs_location = cb_config->efs_location - rom_base_address;
|
||||
if (cb_config->body_location & ~MAX_MAPPED_WINDOW_MASK)
|
||||
cb_config->body_location = cb_config->body_location - rom_base_address;
|
||||
}
|
||||
|
||||
/* If the flash size is larger than 16M, we assume the given
|
||||
addresses are already relative ones. Otherwise we print error.*/
|
||||
if (cb_config->efs_location && cb_config->efs_location > ctx->rom_size) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue